软件架构中的分层都有哪些类型?

如题所述

关于系统架构和软件分层的概念我们在前几期的文章中曾经介绍过多次了。今天,霍营java课程就来详细了解一下,软件架构中的分层都有哪些类型。希望大家通过对本文的阅读,能够对软件架构领域有更多的了解和认识。



经典的三层架构:


1.基础层:dao,帮助类,IO读写,资源加载等一些基础设施,他们作为整个系统基础的模块可以组合成业务层和服务层


2.业务层和服务层:典型的就是service,这里承载更多的是业务的实现,资源的组合调度,事务实现,等等,这里是整个系统核心的地方,下面整合底层dao以及事务,根据业务和场景灵活的把业务逻辑使用底层的基础单元拼接组合起来,上面为表现层提供具体的业务处理逻辑


3.表现层:接受外部的请求,并把调用对应的service操作具体业务,把终结果反馈给调用者或是用户


四层架构,在基础层基础之上还可以在分出一层:领域层,基础层还是提供基本的数据操作和IO与网络操作,不过领域层对基础层再来一次封装和整合,目的也是方便整合底层资源方便service层调用,简化业务层和基础层的复杂依赖


静态业务对象:


ViewObject:VO界面展示用到的数据对象


DomainObject:DO领域层对象,一般可以简约的理解为javabean对象,从业务中抽取的基本模型类


BussinessObject:BO业务对象一般也在service业务层,如果DO不能完全表达,可以使用BO获取更多信息的表达,并且还可以封装重用DO中的实体信息


PersistantObject:PO持久存储对象,一般作用于dao层,和数据库实体对应


DataTransferObject:DTO数据传递对象,用于封装参数,数据中转会,重构过程方法列表会用到


动态处理对象:


Controller控制器,Manager管理类,Service服务类,Repository,DAO数据源,Client客户端,Dispather转发器,Handler处理器,Interceptor拦截器


Helper,Utils帮助类


动态的配置文件与属性:


一些经常用到的开关和阈值一定要写在配置文件中,或有配置中心可以下发,不要在程序中写死,而且要有对相应的刷新机制api接口,调用后强制刷新配置参数


常用的比如:


活动的开始结束日期


业务中的大值,限制值等阈值


外界的URI:文件上传地址,静态资源位置,等等


.....等等一切可以借鉴Ioc理念抽取出来的配置变量


温馨提示:答案为网友推荐,仅供参考
相似回答