1.POJO(Plain Ordinary Java Object)
简单java对象。一个简单的Java类,这个类没有实现/继承任何特殊的java接口或者类,不遵循任何主要java模型,约定或者框架的java对象。
参数访问控制类别:private
参数数量:>=1
参数对外接口:get方法和set方法
类继承关系:无
实现接口:不支持
注解:无
2.JavaBean
JavaBean是一个可序列化的POJO,具有一个无参构造器,并且允许使用遵循简单命名约定的getter和setter方法来访问属性。JavaBean是java语言中用于封装对象的一个可重用组件。任何java代码创造出来的对象都可以被JavaBean打包封装,使得这个对象更加具体,更容易被java应用程序或框架使用。
自身访问控制类别:public
组成部分:属性、方法、事件
无参构造器:必需
属性对外接口:get方法和set方法
3.DTO(Data Transfer Object)
数据传输对象,源于J2EE的设计模式,目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载。通常代指一切表示层与服务层之间的数据传输对象。根据表示层请求的业务需求,对BO进行属性筛选,仅保存表示层请求所需的数据。
概念层面:设计层概念
数据加工:单纯保存和传输数据,不作任何加工。
开发端:后端
4.PO(Persistant Object)
持久对象,该对象与数据库里数据表中的数据相对应。在关系型数据库中,数据表的一个字段对应PO的一个属性。
业务逻辑:不具有
数据逻辑:不具有
本质:实体类(Entity或者ModelEntity)
5.BO(Business Object)
业务对象。基于某个业务而生,保存某个业务的数据。根据业务需要,对数据访问层的持久对象PO进行组装,形成业务所需的新数据对象。可以不太严谨的描述为:BO=n个PO(n>=1,n∈Z+)
组成:PO本身、多个PO的组合
属性数据加工:不支持
6.VO(View Object)
视图对象。处于表示层,用于封装某个页面里的所有数据或某个页面组件的所有属性。VO保存的数据全是针对用户的,全是用户可视可操作的原始数据。