Возьмите создателя против инъекции зависимости - PullRequest
3 голосов
/ 16 мая 2011

Является ли GRASP Creator полным противоречием с инъекцией зависимостей?

Если это не так, объясните почему.

1 Ответ

2 голосов
/ 19 мая 2011

Это не противоречие, однако они оба используются в разных обстоятельствах.

Вы с большей вероятностью будете использовать Creator на уровне домена и использовать инъекцию зависимостей или фабрики в свои уровни обслуживания приложений (службы регистрации, фабрики контроллеров, службы аутентификации и т. Д. В зависимости от вашей платформы) и уровни обслуживания домена / доступа к данным (Репозитории, картографы данных, шлюзы данных и т. Д.).

Это различие разъясняется Ларманом в статье «Применение UML и шаблонов» (где определены шаблоны / принципы GRASP), в которой говорится, что Создателю противопоказано в тех случаях, когда повторное использование переработанных экземпляров важно для производительности или решения относительно того, какой класс среди семью нужно создать. В этих случаях создание экземпляров лучше оставить в фабрике, абстрактной фабрике или DI.

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