GRASP Creator是否与依赖注入(inject)完全矛盾?

如果不是,请说明原因。

最佳答案

这不是矛盾,但是它们都在不同的情况下使用。

您更有可能在域层中使用Creator,并在应用程序服务层(取决于平台的日志服务, Controller 工厂,身份验证服务等)和域服务/数据访问层(存储库,数据映射器,数据网关等)。

拉曼在“应用UML和模式”(其中定义了GRASP模式/原理)中明确指出了这种区别,指出在某些情况下,Creator是禁忌的,在这种情况下,回收实例的重用对于性能或决定家庭需求中的哪个类别很重要。被实例化。在这些情况下,最好将实例化保留为Factory,Abstract Factory或DI。

关于design-patterns - 掌握创建者vs.依赖注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6020911/

10-13 03:39