分层架构项目中对各个层级的理解
今天真正写功能的时候,在模仿各个功能模块中的 dao,entity,service,web。自己动手写代码的时候,才开始理解各个包中代码的作用。主要是对 service,dao 层和 web 中的 controller 的理解加深了。
dao
我的理解: dao 层是在 Mybatis 框架下通过 @MyBatisDao 连接后台代码与数据库的,主要对连接了对数据库的操作。
dao 层用于定义方法接口,然后在 service 层和 serviceimpl 层实现接口的方法,从而达到操作数据库的目的。对数据库进行数据持久化操作,方法语句主要是针对数据库的,主要实现一些增删改查操作,在 Mybatis 中的方法主要与 xx.xml 内相互一一映射。
注意: interface
entity
我的理解: entity 层是用于定义实体,定义各个属性以及各个属性的 getter 和 setter 方法。
实体层,用于存放实体类,与数据库中的属性值基本保持一致,实现 setter 和 getter 方法。
service
我的理解: service 层是用于实现操作的具体方法,包含了对页面操作模块的代码。
service 层用于存放业务逻辑处理,也有关于数据库的操作,但不直接和数据库打交道,为 controller 层提供方法接口,service 层不仅有接口也有接口的实现方法。。
web
我的理解: web 层中的 controller 主要将后台与前端连接起来,从前端获取对后台的操作,并将操作好的数据显示到前端界面。
控制层,负责具体模块的业务流程控制,需要调用 service 逻辑设计层的接口来控制业务流程。因为 service 中的方法才是需要使用到的,controller 通过接收前端传过来的参数进行业务操作,再将处理结果返回给前端。
版权声明: 本文为 InfoQ 作者【攻城狮Chova】的原创文章。
原文链接:【http://xie.infoq.cn/article/82d80e82fa9ae984e5b56cf73】。文章转载请联系作者。
评论