【问题标题】:difference between anemic domain model and active record贫血域模型和活动记录之间的区别
【发布时间】:2014-04-19 16:47:12
【问题描述】:

基于this 的回答,我发现贫血领域模型背后的相同想法正在积极记录中! 在活动记录模式中,数据库字段与域属性相同(如果我错了,请纠正我),所以根据我之前提到的答案,我们在贫血模型中也有相同的(很容易从数据库表中自动生成),那又如何这两种方法有什么区别? 谢谢

【问题讨论】:

  • 您对贫血域模型的定义缺陷是不对的。自动方面是次要的。 ADM 的问题在于它没有业务逻辑,即没有方法,活动记录类可能会犯错,但它不是模式定义的隐含部分。活动记录可能具有处理数据库存储和检索之外的数据的方法。

标签: design-patterns activerecord anemic-domain-model


【解决方案1】:

这是 Martin Fowler 的企业应用架构模式中对 Active Record 的官方一句话定义:

“在数据库表或视图中包装一行的对象,封装数据库访问,并在该数据上添加域逻辑。” (强调我的)

请注意,我加粗的定义的最后一部分。由于 Active Record 应该为类添加额外的域逻辑,所以它不会乏力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 2018-12-14
    • 2011-09-19
    • 2010-10-28
    • 2010-11-04
    • 2012-02-04
    • 2010-12-20
    相关资源
    最近更新 更多