我想知道域实现的常见做法。首先设计业务对象,首先需要持久性或数据库模式,然后从实体关系图(以及之后的ORM poco *)生成它?
我将开始一个解决方案,但我想知道哪个是最优选的“模式”。
(*由NHibernate提供)
答案 0 :(得分:8)
取决于您是对象还是关系建模者。偏好取决于你最了解的内容。
我是一个对象,所以我会说对象中的问题建模,然后从中得到关系模式。
我认为围绕数据的许多问题都没有被对象解决(例如,索引,主键和外键,规范化),这些问题表明你在完成时还有一些工作要做。
但是任何关系人都会争辩说他们是主要的并且应该在驾驶座上。
我怀疑这个问题会有明确的答案。我不相信应该有。物体关系阻抗不匹配是真实的。对象是以实例为中心的;关系模型是基于集合的。两者都需要仔细考虑。
答案 1 :(得分:0)
通常的做法都是,并且归结为每个实施者的偏好。正如duffymo建议你应该选择你最熟悉的那个。
但是,您还应该考虑使用数据的常规模式。有一个很好地模仿任何一个,但在性能方面非常昂贵的东西不是一个好的选择。余额位于中间位置。
我个人倾向于更多地关注数据库方面的事情,主要是因为数据库是难以扩展的数据库。在设计数据库时要注意这一点。您不必按照严格的缩放规则进行初始设计,但考虑到这一点可能会帮助您不要做出相当于在脚下拍摄自己的设计决策,以后需要进行缩放。