项目最开始,只是运用了简单的MVC架构,对于M层,没有更好的区分。并且对于数据库操作,业务对象,业务逻辑混为一体,对于后期很难维护。后项目进行了分层,对于M层进行了分层设计,大致分为三层:Service,Bo,Dao。
Service:处理业务的代码放在这里。
Bo:创建业务对象。方便各个模块进行调用,方便理解。
Dao:处理数据库的代码放在这里。
举例:一份简历,其中包括基本信息,工作履历,教育背景。现在需要将简历发送给某公司。
首先创建 基本信息Dao,工作履历Dao,教育背景Dao。
然后创建 简历Bo,包括 基本信息dao,工作履历Dao, 教育背景Dao。
最后创建 发送简历Service,调用new 简历Bo,将简历发送给某公司。
1.如果逻辑不复杂,Service也可以直接调用dao。
2.可以将Bo 直接返回到View层,进行页面渲染。
3.Bo层和Dao层,还应有一个PO层(持久层)与数据库表字段一一对应,但是因为项目特殊,将PO层省略,与Bo层合并
Q&A:项目有计算功能,但是具体某一个计算值的计算公式不知应该算Service还是Bo本身的属性?有待后期进行总结