软件分层开发,可以解耦合,减少关联关系,明确分工。
分层开发步骤
1.层次划分,包 -- 层
2.实体类建模,vo包下的,与db表对应。实体类自动生成表(正向生成),表自动生成实体类(逆向生成,较科学),但这均有时不准确。
3.dao
4.service
5.ui
实际合作开发中,根据详细设计文档,文档中标识定义出了接口、方法,不一定必须按dao->service->ui顺序开发。
视图层(View)
filter层
controller层(C)
model层(M):
business service 业务逻辑层、异常逻辑的定义、事务处理
每个非抽象实体类都实现一个单独的接口。用户添加好友,是好友表的insert,-》是好友服务。dao层写好了封装好了-》写业务层就很顺手。
dao层(M):
CURD 只做db操作,不考虑业务逻辑
每张表的db操作都实现一个单独的接口。原本以为增删改查操作弄成一个接口,其它db操作弄成一个接口,-》这不合理。相同db操作的表实现同一接口即可(dao层、业务层都是这样)。多个内存集合合并成一个集合-》dao层不做这种事。
持久化层
persistence 和dao层合在一起 data持久化
数据库
不允许跨层依赖,dao层依赖db,每一层的改动只影响上一层。
实体类的作用:data在各层的传递。实体类有很多种,如vo、pojo、po、dto、entity、domain
实体类->dao->元组
元组->dao->实体类