|
|
1
3
根据域驱动的设计,域对象是不知道持久性的。这意味着-它们不应该包含连接到数据库的基础结构代码。然而,存储库抽象被认为是域模型的一部分。因此,这是'允许'使用这些,但我个人喜欢避免。 如果你说的是域对象的建模,那么不,把它们建模成愚蠢的数据包并不是一件好事。这会导致 anemic model 如果你说的是在从持久性机制中检索域对象时重建它们,那么是的——基本上这只是从头开始重建域对象。但这里有一个棘手的部分-这个重建和其他与持久性相关的问题不应该侵入您的域。您不应该仅仅为了使持久性工作而拥有没有任何验证的公共添加/删除函数。在现实中-很难保持模型完全干净(事实上,它已经和你正在使用的编程语言搞砸了,除了你自己建模的现实之外,不存在可以容纳它的纯媒体),而且总是会有一些隐含的依赖关系(例如-当使用NHibernate ORM时,所有东西都必须标记为虚拟的)。 认为 . 从阅读开始 'blue book' sample application 直到你 了解原因 编辑:哦。。。忘了 ddd yahoo group 看看这个(过于简单和糟糕的一个)例子。从客户端来看,除非你作弊,否则你将无法创建一个拥有name.Length>50
域驱动的设计在一开始确实令人困惑。最糟糕的事情可能发生(通常发生)是当开发人员开始 不知从哪儿冒出来的 he is doing it right
|