1.领域模型
领域模型(
domain model
)
是对领域内的概念类或现实世界中对象的可视化表示。
这种官方概念一向是最复杂难以理解的了,其实我们的领域模型在我们的业务当中也有一个名字,叫做
业务对象模型。很明显,我们能够从名字上就能够看出来,我们的业务对象模型是用来描述业务对象之
间的引用关系的。
那么什么是我们的业务对象呢。实际上我们的业务对象分为三种
业务角色
,业务角色表示的是一个角色承担的一系列责任。比如收银员,他的责任是计算商品价
格,收钱,找零,甚至退换货。
业务实体
,业务实体表示的是其实你使用或者可交付的工件,资源,事件。比如电商项目中的商
品。你需要给卖家打印的发票。
业务用例
,实际上业务用例显示的是协作角色与业务实体之间如何执行工作流程,也就是我们的业
务链路。
实际上,业务对象模型就是将实体的概念以及行为的概念结合起来了。也就是说,整理起来 ,就是你的 业务逻辑流转以及中途所需要的角色。
那么领域模型实际上也分为很多的种类
2.失血模型
第一种叫做失血模型,失血模型实际上就是我们的对象模型中只包含我们的
get
,
set
方法,像我们的排序,分页等等任何的通用性操作都不会包含在我们的对象中。这种逻辑实际上会让我们的领域模型比较傻瓜式。什么意思呢?我们的失血模型是没有Dao
层的,我们所有的业务会全部写在我们的
Service
当 中。所以,一般情况下,我们是不推荐用这种模型的,不过,也有同学正在使用这种方式。
举例代码
;
//基于失血模型的模型实现
public class User implements Serializable {
private Long id;
private String age;
//创建用户时间
private Date createTime ;
//最后修改用户信息时间
private Date UpdateTime;
public Date getCreateTime() {
return createTime;
}
public Date getUpdateTime() {
return UpdateTime;
}
public String getAge() {
return age;
}
public Long getId() {
return id;
}
public void setAge(String age) {
this.age = age;
}
public void setId(Long id) {
this.id = id;
}
}
持久化操作:
//定义业务逻辑接口
public interface UserDao{
public void save(User user){}
public void findAll(){}
}
//业务逻辑