发表于: 2017-10-30 16:03:23
1 700
今日完成:
1、还记得刚开始做Java任务的时候,有一深度思考『什么是贫血模型,什么是充血模型?为什么我们会强制要求使用贫血模型?』
现在做了真实项目以后,有了更深的体会,意识到公司的项目似乎使用的既不是『充血模型』也不是『贫血模型』,而是『失血模型』。
实体类叫 Subject,Lesson,Period,Task。
一个Service接口类叫 SubjectServiceImpl,LessonServiceImpl。
一个业务逻辑类叫
Java 代码:
模型:
Class Subject{
private Long id;
/*科目名称*/
private String subjectName;
private Integer grade;
private Integer gradeDept;
private Integer sort;
}
service:
public List<Long> getSubjectIdsByStatusOrderBySort(Integer status, Integer start, Integer limit)
throws ServiceException, ServiceDaoException;
public List<Long> getSubjectIdsByStatusAndGradeDeptOrderBySort(Integer status, Integer gradeDept, Integer start, Integer limit) throws ServiceDaoException;
insert,insertList,delete,update,updateList等方法都放在 subjectService ,实现具体的业务逻辑。除了常见的和CRUD有关的简单逻辑之外,这里还有许多别的方法,比如 getSubjectIdsByStatusAndGradeDeptOrderBySort,是通过『上下架』『年级部』来查找课程,并用按照『sort』来排序。
失血模型简单来说,就是domain object只有属性的getter/setter方法的纯数据类,所有的业务逻辑完全由business object来完成(又称TransactionScript),这种模型下的domain object被Martin Fowler称之为“贫血的domain object”。
2、改写了一下发短信的service。
明天计划:
1、app端支付宝支付功能有些问题,明天需要搞定。
2、把项目中遇到的问题写成博客。现在可以写的主要是一些代码优化方面的内容。
遇到的问题:
1、晚上广亮师兄那里遇到一个问题,其实刚开始做项目的时候困扰我的,


收获:
评论