三层架构 与 MVC、MVP、MVVM 模式的区别

以下内容只是个人不成熟的见解,才疏学浅,惭愧。

1、三层架构

三层架构是一种软件架构(software architecture) ,是一种分层结构。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构,它将整个业务应用从上到下划分为:表示层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。三层结构的出现的目的是为了解决B/S应用高内聚低耦合

  • 表示层:又称表现层UI,位于三层构架的最上层,与用户直接接触,主要是B/S信息系统中的Web浏览页面。主要功能是实现系统数据的传入与输出,将数据传送到业务逻辑层中进行数据处理,业务逻辑层处理后会将处理结果反馈到表示层中。

  • 业务逻辑层:位于表示层与数据层中间位置,是表示层与数据层的桥梁,先对接收数据进行逻辑处理,再调用数据访问层实现数据的修改、获取、删除等功能,并将处理结果反馈到表示层中。

  • 数据访问层:主要是对数据库的进行操作,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层,具体为业务逻辑层或表示层提供数据服务。

举个列子,在Java Web应用中,为了降低耦合度,在实际开发中,包命名结构就体现了分层结构。表现层就对应于HTML页面 & Servlet业务逻辑层对应于Service包数据访问层对应于Dao包。为了继续降低系统的耦合度,在实际项目分包中,还有一层Contrller包,属于SpringMVC,可以说是有点表现层的意思吧。

其实,分层与MVX都是为将代码划分好各自的职能吧,避免耦合罢了,你也可以理解就是职能的划分,而不必纠结什么架构啊、什么模式吗。现在,一般都是前后端分离的了,后端项目代码大家一般都分层吧,各层有各层的职责。前端或者客户端现在的功能太丰富了,数据交互、数据更新太频繁了,所以一般都采用MVX模式解耦数据、划清职能。其实它的项目代码不是也分包吗,你也可以将Model理解为Service进行数据处理、View就是控制前端html页面(或者安卓的xml)的数据显示与更新、Controller还是作为控制器,作为ModelView之间的桥梁。

三层架构

2、MVX架构模式

MVX,就是Model-View-X(Controller、Presenter、ViewModel),就是MVCMVPMVVM,它们是一种架构模式(架构风格),是GUI界面开发的指导模式,基于表现层分离思想。主要是为了解决表现层数据与显示分离的问题,尽可能把展示数据的View页面和业务代码分离。

区别于三层架构三层架构是一种软件架构,而MVX是一种架构模式

  1. 软件架构是一个系统的抽象,描述的是一个系统由哪些组件组成&#x

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值