后端设计分层
文章目录
POJO(Plain Ordinary Java Object)简单的Java对象。它指的是:那些没有继承任何类、也没有实现任何接口,更没有被其它框架侵入的java对象。
POJO
的所有属性都是私有的,对外提供只提供的set
和get
方法,并且可以被序列化。DO/DTO/BO/VO都属于POJO
。
常用的web 应用分层格式:
VO( View Object)
显示层对象,通常是Web向模板渲染引擎层传输的对象。
DTO( Data Transfer Object)
数据传输对象,Service或Manager向外传输的对象。
表里面有十几个字段:id,name,gender(M/F),age,conmpanyId(如001)…
页面需要展示四个字段:name,gender(男/女),age,conmpanyName(如今日头条股份有限公司)。
DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构。
BO( Business Object)
业务对象。 由Service层输出的封装业务逻辑的对象。主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。形象描述为一个对象的形为和动作,当然也有涉及到基它对象的一些行为和动作。
DO(Domain Object)
领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
业务层DTO会转成 BO或者DO.
PO(Persistant Object )
用于表示数据库中的一条记录映射成的 java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。
DAO(Data Access Object)
数据访问对象。用于表示一个数据访问对象。使用 DAO 访问数据库,包括插入、更新、删除、查询等操作,与 PO 一起使用。DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。
Ref
https://en.wikipedia.org/wiki/Plain_old_Java_object
https://blog.csdn.net/chenchunlin526/article/details/69939337
作者: Fynn
链接: https://fynn90.github.io/2021/09/12/Java%E6%95%B0%E6%8D%AE%E5%AF%B9%E8%B1%A1%E5%88%86%E5%B1%82/
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可