DDD - 如何实施工厂

时间:2013-03-08 17:34:58

标签: domain-driven-design factories

我想知道如何在域驱动设计中实现工厂。 (实施例)

应该在哪里放置工厂的接口和实现? 我是否需要为工厂创建的Domain对象创建接口? 我是否需要为存储库,服务创建工厂......

我正在使用依赖注入容器如何将它们与工厂放在一起?

感谢。

1 个答案:

答案 0 :(得分:12)

工厂应该是简单的类,通常是静态的。它们也可以在它们创建的实体或值对象上实现为静态方法。工厂应该直接创建域对象,而只创建域对象。此外,工厂不应该依赖于依赖注入,因为域对象不应该有依赖注入。

域对象不应该实现接口 - 这是一种不必要的抽象。

另一方面,服务和存储库实现确实存在依赖关系,应该由DI容器创建。