DDD-如何实施工厂 [英] DDD - How to implement factories

查看:96
本文介绍了DDD-如何实施工厂的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to know how to implement factories in domain driven design. (examples)

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

Where should be placed interfaces and implementations of factories ? Do I need to create interfaces for Domain objects which factories creating ? Do I need to create factories for repositories, services, ...

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

I am using Dependency Injection Containers how can I put them together with factories ?

谢谢。

推荐答案

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

Factories should be simple classes, usually static. They can also be implemented as static methods on the entity or value object they create. Factories should create domain objects directly and only domain objects. Moreover, factories should not be tied with dependency injection because domain objects shouldn't have dependencies injected into them.

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

Domain objects should not implement interfaces - that is a needless abstraction.

另一方面,服务和存储库实现确实具有依赖性,应由DI容器创建。

Services and repository implementations on the other hand do have dependencies and should be created by the DI container.

这篇关于DDD-如何实施工厂的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆