Hob*_*bes 6 architecture orm design-patterns domain-driven-design
当我正在使用ORM完成我的第一个大型项目时,我开始意识到ORM将成为创建富有表现力且传达意图的域对象的一大障碍.
也就是说,我知道我们不希望域对象只是公开访问的getter和setter的包.此外,我开始意识到只是在整个地方使用IList <T>并没有传达意图,并且可能会引起使用这些对象的开发人员的滥用.例如,可能最好暴露ReadOnlyCollection <T>.(顺便说一下,我正在使用.NET和Entity Framework.)而不是IList <MyDomainObject>,我发现自己想要公开从MyDomainObject 派生的对象列表.(这些东西在EF中都不容易.也许我需要使用NHibernate或ADO.Net.)
我的问题是:我是否试图以这种方式制作域对象?这些问题是否应该成为其他应用程序组件的一部分?或者我应该有一个"真正的"域对象(具有表达性的东西)和一个由ORM水合的"哑"POCO对象?
(编辑:系统吃了一堆我的尖括号.)