个人推广网站,wordpress 云标签小工具,企业网站的推广阶段,公司流程管理系统1.失血模型
失血模型仅仅包含数据的定义和getter/setter方法#xff0c;业务逻辑和应用逻辑都放到服务层中。这种类在Java中叫POJO。 action service#xff1a; 核心业务#xff08;复杂度#xff1a;重#xff09; model#xff1a;简单Set Get dao #xff1a;数据持…1.失血模型
失血模型仅仅包含数据的定义和getter/setter方法业务逻辑和应用逻辑都放到服务层中。这种类在Java中叫POJO。 action service 核心业务复杂度重 model简单Set Get dao 数据持久化 Setter
Getter
public class Commodity {private Long commodityId;private String commodityName;}Setter
Getter
public class Order {private Long orderId;private Long commodityId;private Date createTime;} 2.贫血模型
贫血模型中包含了一些业务逻辑但不包含依赖持久层的业务逻辑。这部分依赖于持久层的业务逻辑将会放到服务层中。 action service 简单服务组合、事务管理复杂度中 modelSet Get的基础上添加简单逻辑处理复杂度中 dao数据持久化 Setter
Getter
public class Commodity {private Long commodityId;private String commodityName;}Setter
Getter
public class Order {private Long orderId;private Long commodityId;private Commodity commodity;private Date createTime;public Order(Commodity commodity) {this.commodity commodity;}}public class OrderService {Resourceprivate OrderMapper orderMapper;Resourceprivate CommodityMapper commodityMapper;public Order getOrderById(Long orderId) {Order order orderMapper.getById(orderId);order.setCommodity(commodityMapper.getById(order.getCommodityId()));return order;}}3.充血模型
充血模型中包含了所有的业务逻辑包括依赖于持久层的业务逻辑。使用充血模型的领域层是依赖于持久层。 action service 简单服务、事务管理复杂度中- modelSet Get的基础上添加复杂逻辑处理复杂度中 Setter
Getter
public class Commodity {private Long commodityId;private String commodityName;}Setter
Getter
public class Order {private Long orderId;private Long commodityId;private Commodity commodity;private Date createTime;Resourceprivate CommodityMapper commodityMapper;public Commodity getCommodity() {return commodityMapper.getById(this.commodityId);}}public class OrderService {Resourceprivate OrderMapper orderMapper;public Order getOrderById(Long orderId) {return orderMapper.getById(orderId);}
} 4.胀血模型
胀血模型就是把和业务逻辑不想关的其他应用逻辑如授权、事务等都放到领域模型中。 action modelSet Get的基础上添加复杂逻辑处理、事务处理复杂度重