Скажите не спрашивайте - как это относится к этому примеру?

В качестве прокси для чего-то реального, над чем я работаю, подумайте о создании модели. У нас будет Parts класс, представляющий детали модели, в комплекте с методами для изготовления детали на основе заданных параметров, для проверки и т. д. У нас есть Glue класс, который делает то же самое, и ModelBuilder учебный класс.

Я могу изготовить свой клей и детали с хорошей герметизацией. Тогда я передаю PartsInstance и мой GlueInstance к моему ModelBuilder в качестве параметров. Здесь все разваливается. Я могу сказать моему ModelBuilder собрать, но для этого ему нужен доступ к данным в Parts (а может и Glue). Мне, например, нужно знать, где находится угол или центр PartsInstance.Part[0] для того, чтобы правильно построить.

Я нахожусь в затруднительном положении, потому что кажется, что лагерь "Скажи, не спрашивай" сказал бы, что деталь должна каким-то образом создать себя. Но это не имеет смысла для меня. Часть есть часть, а не вся модель. Вот что надо строить самому. ModelBuilder может быть довольно сложным, и возможно, что Parts может быть использован где-то еще. С другой стороны, я спрашиваю о состоянии PartsInstance объект, а затем принимать решение на основе этого состояния. Кроме того, решение не может быть чем-то, что подходит только внутри Parts Концепция в любом случае. Это может включать в себя тип Glue Я выбрал.

Как я могу построить или переработать этот пример, чтобы он не нарушал инкапсуляцию?

0 ответов

Другие вопросы по тегам