领域设计的贫血模型和充血模型
在领域实体Dao中,实体可以设计为贫血模型和充血模型。
贫血模型只包含见到的get和set方法,不包含业务逻辑,是简单的POJO,所有的业务逻辑都放在service层。
这种模型并不是面向对象的,和对象相关以来的逻辑被解耦到了业务层,优点是模型很简单,缺点是service层的逻辑负责繁重。
充血模型包含了和对象相关的业务逻辑,是面向对象的设计,他的缺点是需要判断如何划分业务逻辑和实体逻辑。
我们可以按照可重用度的程度切分业务逻辑,可重用度高的和实体依赖的是领域逻辑,可重用度低的,和实体状态没有密切关联的放在业务逻辑。
人前不露怯,
远足不露财,
内外当整洁,
自奉须俭约。