什么是MVC?什么是三层架构?

什么是MVC

MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范
是将业务逻辑、数据、显示分离的方法来组织代码。
MVC主要作用是降低了视图与业务逻辑间的双向偶合。
MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。

小贴士:
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。**框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,**有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。

Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。

View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。

Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。

什么是三层架构

三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层(web层)、业务逻辑层(service层)、数据访问层(持久化层)区分层次的目的即为了“高内聚、低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
什么是MVC?什么是三层架构?_第1张图片
各层定义

表现层(Web层):通俗说就是用户所能看到的直观的界面。其作用就是接收用户提交的请求数据,以及将程序对用户请求所产生的响应数据反馈给用户。目的就是为用户提供可交互的操作界面。所以,表现层就像已经搭好的积木。

业务逻辑层(service层):主要是针对具体的问题的操作,根据用户的不同请求而做出不同响应的处理。也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建

数据访问层(持久化):它只是提供对数据库操作的多种途径,是对数据库的操作,而不是数据。不同的数据就好比形状各异的积木,而数据访问层就好比取出或放回这些积木的动作。

MVC模式可以看做是对三层架构中表现层的一种细分优化

什么是MVC?什么是三层架构?_第2张图片

你可能感兴趣的:(mvc,架构,java,功能测试)