【发布时间】:2025-12-26 10:05:06
【问题描述】:
GRASP Creator 与依赖注入完全矛盾吗?
如果不是,请解释原因。
【问题讨论】:
-
如果您认为矛盾,请解释原因。
标签: design-patterns dependency-injection design-principles grasp
GRASP Creator 与依赖注入完全矛盾吗?
如果不是,请解释原因。
【问题讨论】:
标签: design-patterns dependency-injection design-principles grasp
这不是矛盾,但是它们都在不同的情况下使用。
您更有可能在域层中使用 Creator,并在应用程序服务层(日志服务、控制器工厂、身份验证服务等,具体取决于您的平台)和域服务/数据访问层中使用依赖注入或工厂(存储库、数据映射器、数据网关等)。
Larman 在“应用 UML 和模式”(其中定义了 GRASP 模式/原则)中明确了这种区别,指出在重复使用回收实例对性能或决定哪个类很重要的情况下,Creator 是禁忌的需要实例化一个家庭。在这些情况下,最好将实例化交给工厂、抽象工厂或 DI。
【讨论】: