1 领域模型
1.1 Controller
1 )获取对象的方法用 query 做前缀。
2 )插入的方法用 add 做前缀。
3 )删除的方法用 delete 做前缀。
4 )修改的方法用 modify 做前缀。
1.2 Service
1 )获取单个对象的方法用 get 做前缀。
2 )获取多个对象的方法用 list 做前缀。
3 )获取统计值的方法用 count 做前缀。
4 )插入的方法用 save(推荐)或 insert 做前缀。
5 )删除的方法用 remove(推荐)或 delete 做前缀。
6 )修改的方法用 update 做前缀。
7 )分页的方法用 page 做前缀。
1.3 DAO 层命名规约:
1 )获取对象的方法用 select 做前缀。
2 )插入的方法用 insert 做前缀。
3 )删除的方法用 delete 做前缀。
4 )修改的方法用 update 做前缀。
2 Result返回对象命名
1 )数据对象: xxxDO , xxx 即为数据表名。
2 )数据传输对象: xxxDTO , xxx 为业务领域相关的名称。
3 )展示对象: xxxVO , xxx 一般为网页名称。
4 ) POJO 是 DO /DTO / BO / VO 的统称,禁止命名成 xxxPOJO 。
3 各层规约
3.1 【参考】分层领域模型规约:
· DO(Data Object):与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
· DTO(Data Transfer Object):数据传输对象, Service 和 Manager 向外传输的对象。
· BO(Business Object):业务对象。可以由 Service 层输出的封装业务逻辑的对象。
· VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
· QUERY :数据查询对象,各层接收上层的查询请求。注:超过 2 个参数的查询封装,禁止使用 Map 类来传输。
3.2 Pojo
3.2.1 PO
PO:全称是
persistant object持久对象
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。
3.2.2 DO—命名
(Domain Object)领域对象
就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。
3.2.3 TO—命名
(Transfer Object) ,数据传输对象
在应用程序不同 tie( 关系 ) 之间传输的对象
3.2.4 BO
BO:全称是
business object:业务对象
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。
3.2.5 VO—命名
value object值对象
ViewObject表现层对象
主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。
3.2.6 DTO—命名
Data Transfer Object数据传输对象
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO
3.2.7 POJO:
POJO
plain ordinary java object 简单java对象
个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象。
一个POJO持久化以后就是PO
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO
3.2.8 DAO—命名
data access object数据访问对象
这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要.
主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO
3.2.9 QO—命名
(Query object) 查询对象
一般用于组装查询参数
最新评论
mat插件可以检测内存数据
标识接口?
序列化serializabel就是一个标识
就差一个MAC了
mark
除了预置sql查询字段,其他我竟然都没用过
可以,这个问题遇到过
mybatis多个参数: 1. 注解(最常用) 2. 转化为对象或MAP 3. 按顺序(这个最蠢,写的代码看得费劲) 单个参数需要注意得: 1.基本数据类型随便写 2.数组用array,l