Закон Деметры - объекты данных
Я пытаюсь следовать Закону Деметры (см.http://en.wikipedia.org/wiki/Law_of_Demeter , http://misko.hevery.com/code-reviewers-guide/flaw-digging-into-collaborators/ ), как я вижу преимущества, однако я немного застрял, когда дело доходит до доменных объектов.
Доменные объекты, естественно, имеют цепочку, и иногда необходимо отображать информацию о всей цепочке.
Например, корзина для покупок:
Каждый заказ содержит пользователя, информацию о доставке и список товаров Каждая позиция заказа содержит продукт и количество Каждый продукт имеет название и цену. Каждый пользователь содержит имя и адрес
Код, который отображает информацию о заказе, должен использовать всю информацию о заказе, пользователях и продуктах.
Конечно, лучше и более многократно использовать эту информацию через объект заказа, например & Quot; order.user.address.city & Quot; чем для некоторого кода выше выполнять запросы для всех объектов, перечисленных выше, а затем передавать их в код отдельно?
Любые комментарии / предложения / советы приветствуются!