У меня есть объект Order для представления предполагаемого заказа / квитанции. Это сущность. У него есть личность.
У меня есть объект Writer, который читает свойства объекта Order и хорошо его отображает.
Это немного хлопотно - иметь отдельных получателей для всех частей Платежных реквизитов Клиента.
Итак, я подумываю о том, чтобы позволить объекту Writer получить объект значения данных для платежа клиента из объекта Order. (Я полагаю, что объект значения платежных данных клиента называется «зависимостью» - исправьте меня, если я ошибаюсь)
Теперь, если я сделаю это, я бы хотел, чтобы эта зависимость "знала", если исходные постоянные данные изменятся
т.е.. если countryId изменится с '214' на '35'
Так что зависимость может вернуть новую страну asPrettyString «Мексика», скажем, вместо старого значения «Эквадор».
Так что, я думаю, у меня был бы метод фабрики в Объекте заказа, и я мог бы внедрить Объект Заказа в конструктор Объекта Значения данных для выставления счета Клиента, чтобы Объект данных для выставления счета всегда выводил свои свойства из свойств исходных постоянных данных Заказа.
Является ли ваша реакция на этот план действий:
A: Блими, это очевидно, что это практически единственный способ сделать это
или
Б: Господи! Отведите некоторое время на серьезные головные боли через несколько месяцев - вы создадите клубок ассоциаций - я чувствую к вам.
или
C: [Другое]
Я спрашиваю, потому что это кажется двунаправленной ассоциацией для меня.
Заказ имеет Объект платежных данных
и
Объект платежных данных имеет Заказ
и я прочитал, что двунаправленные ассоциации являются плохой практикой ООП.