前端之家收集整理的这篇文章主要介绍了
c# – 工厂模式这应该存在于DDD中?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经讨论了一段时间了,但仍然没有得出结论.
虽然我看到大多数示例都在应用程序层中有工厂
代码,但我倾向于认为它应该在域层中.
原因:
我有时会在我的工厂进行初始验证,我希望所有对象的创建都能通过.
我希望此
代码可用于我的对象的所有实例化.
有时,操作需要感觉不自然的参数信息传递给构造
函数.
还有一些不那么重要的原因.
有没有理由说这是一种不好的做法?
这会破坏其他模式吗?
1这样做.可访问性是一个很好的理由,我会保持创建
代码至少接近域模型层.否则,域模型的
用户将在查找受限制的访问构造
函数时特别混淆如何实例化它.实际上,将它分开的一个合理的理由是你有不同的有效
方法来创建相同的东西,例如通常在使用抽象工厂时就是这种情况.
如果我不得不分开它,我会把它放在例如一个包(在Java的情况下)至少与域模型的相同级别并且它总是与它一起发送,例如
upper
--> domain
--> domain_factory
原文链接:https://www.f2er.com/csharp/98208.html