Использовать или не использовать обратные ссылки в дочерних объектах - PullRequest
2 голосов
/ 24 марта 2011

Я надеюсь, что могу сказать обо мне, что у меня есть промежуточные навыки в Hibernate. Я потратил несколько месяцев на разработку веб-приложений, использующих Hibernate в качестве фреймворка ORM. Но я никогда не спрашиваю себя, почему мы используем обратные ссылки. Действительно ли необходимо использовать обратные ссылки в дочерних объектах?

С точки зрения методологии UML или OOP: в модели, где используется композиция, дочерний объект не имеет или должен иметь ссылку на своего родителя. Только родитель знает, что делать с ребенком, когда его создавать или удалять. Поэтому, если я хочу, чтобы в моем POJO действительно была композиция, мне не следует использовать обратную ссылку, но тогда у меня могут возникнуть проблемы с реализацией.

Мои вопросы:

Какие преимущества я имею, когда использую обратную ссылку, а какие нет, когда нет. Что такое лучшая практика? Использовать или не использовать обратные ссылки?

1 Ответ

2 голосов
/ 24 марта 2011

Выполнение составного элемента управления прямо сейчас в C #.

И просто добавил ссылку на каждый дочерний элемент, на его контейнер или родительский элемент управления, потому что это необходимо. И сделали это раньше, в другой прогр. яз. / framework (s).

Преимущества: * «Я изменил свойство» / «Я выполнил метод, вам нужно знать» / «Я взял машину без разрешения и разбился, и позвонил вам с (эталонным) сотовым телефоном, который вы мне дали»

Недостатки: * Один дополнительный объем памяти на объект

О, я забыл. В Windows и Unix-подобных O.S. каждая дочерняя папка имеет "." ссылка, ссылка ".." и корневая ссылка ("\\" или "/"). Значит, U.M.L, говорит, что эти ссылки не должны существовать?

Методологии / Шаблоны проектирования / Лучшие практики, это очень хорошо, но не принимайте это как правило всегда следовать, для любого правила всегда есть исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...