Design patterns 贫血区域模型与活动记录的区别
根据答案,我发现贫血领域模型背后的相同想法也存在于活动记录中! 在活动记录模式中,数据库字段与域属性相同(如果我错了,请纠正我),因此根据我前面提到的答案,我们在贫血模型中有相同的字段(很容易从数据库表自动生成),那么这两种方法之间的区别是什么?Design patterns 贫血区域模型与活动记录的区别,design-patterns,activerecord,anemic-domain-model,Design Patterns,Activerecord,Anemic Domain Model,根据答案,我发现贫血领域模型背后的相同想法也存在于活动记录中! 在活动记录模式中,数据库字段与域属性相同(如果我错了,请纠正我),因此根据我前面提到的答案,我们在贫血模型中有相同的字段(很容易从数据库表自动生成),那么这两种方法之间的区别是什么? 感谢以下是Martin Fowler的企业应用程序架构模式中活动记录的官方一句话定义: “在数据库表或视图中封装行、封装数据库访问,并在该数据上添加域逻辑的对象”(emphasis mine) 请注意我粗体显示的定义的最后一部分。由于Active Re
感谢以下是Martin Fowler的企业应用程序架构模式中活动记录的官方一句话定义: “在数据库表或视图中封装行、封装数据库访问,并在该数据上添加域逻辑的对象”(emphasis mine)
请注意我粗体显示的定义的最后一部分。由于Active Record应该向类中添加额外的域逻辑,因此它不是贫血。您定义的贫血域模型的缺陷是不正确的。自动方面是次要的。ADM的问题是它没有业务逻辑,即没有方法,这是活动记录类可能犯的错误,但它不是模式定义的隐式部分。活动记录可以具有处理数据库存储和检索之外的数据的方法。