Java code layering
一下是一个典型的java微服务项目的代码调用结构,分层次的目的在于解耦合
,内聚变化
,减少重复代码
。
为了达到解开的目的我们会采用Pojos
来对每层之间的输入输出进行隔离,以期望,如,对视图的改动,格式化,等等不会对业务产生太大影响,为此我们会产生以下对象:
-
VO(View Object) 视图对象,他用于展示业务数据的封装格式,常常和视图一一对应。
-
QMO(Query Model Object) 查询模型对象。顾名思义,用于查询结构的封装载体
-
DTO(Data Transfer Object) DTO对象,即一个数据载体的封装格式。
-
DO(Domain Object)领域模型对象,也叫Entity实体对象,这里是我们对业务的模型的抽象模型,映射现实业务中的实体。
-
PO(Persistent Object) PO对象,即持久化对象,用户解耦存储和业务直接的关系。实际开发中有了ORM之后,可直接用DO/Entity代替。和存储的(表结构,Document)等格式一一对应。
有了这些对象的基本概念我们就可以对代码结构进行分层,完整的结构如图:
……