分层架构是将系统拆分成具有独立职责的多个层次,以协同提供完整的功能。常见的分层方式包括MVC架构和三层架构(表现层、逻辑层、数据访问层)的设计。
三层架构介绍
一种常见的分层方式是将整体架构分为表现层、逻辑层和数据访问层:
表现层:顾名思义嘛,就是展示数据结果和接受用户指令的,是最靠近用户的一层;
逻辑层:里面有复杂业务的具体实现;
数据访问层:则是主要处理和存储之间的交互。
分层有什么好处: 分层设计简化了系统设计,使得团队成员可以专注于特定层次的开发,提高了代码的复用性和系统的横向扩展能力,尤其适用于复杂业务和高并发系统设计。
分层架构的不足: 分层架构会增加系统的复杂度和性能损耗,因为增加了中间层次可能导致额外的网络交互开销;也增加了代码复杂度(针对业务场景使用分层,例如后台业务可以不分)
三层架构和 MVC 结构的区别
MVC是指:Model模型、View视图、Controller控件器。
View:视图,为用户提供使用界面,与用户直接进行交互。 Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门承载业务数据的,如Student、User等。而业务处理Bean则是指Service或Dao对象,专门用于处理用户提交请求的。 Controller:控制器,用于将用户请求转发给相应的Model进行处理,并处理Model的计算结果向用户提供相应响应。
MVC与三层架构的关系
MVC与三层架构很相似,但它们并不一样。如果以三层架构为背景,那么MVC的三个部分分别对应的是什么?
三层架构中的View层简单的说就是跟用户发生直接关系的层,MVC中的V和C就是这样的存在,所以MVC中的V和C均属于三层架构的View层。同时,我们知道MVC中的M(Model)包括了数据承载Bean和业务处理Bean,其中业务处理Bean分为Service或Dao对象,分别对应业务逻辑处理和数据库操作,相应的,它们对应的是三层架构中的Service层和Dao层。故,它们的关系如下图所示:
参考链接
MVC 和三层架构
- 详细介绍了 MVC 和 三层架构的不同
架构分层:我们为什么一定要这么做?
- 详细介绍了 三层架构 在业务上的具体使用和优缺点