三层架构与MVC

Posted zxfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三层架构与MVC相关的知识,希望对你有一定的参考价值。

系统架构

整合应用程序大的结构。经常提到的系统架构有两种:MVC和三层架构。均是为了降低系统之间的耦合度。

1、三层架构

  • 视图层View层:用于接收用户提交的代码
  • 服务层Service层:系统的业务逻辑主要在这里完成
  • 持久层Dao层:直接操作数据库的代码

为了更好的降低各层之间的耦合度,在三层架构设计中,采用面向抽象编程,即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现。服务标准(接口)是相同的,服务提供者(实现类)可以更换,这就实现了层之间的耦合。

系统的复杂度即是耦合度

  • 视图层
  • 业务逻辑层
  • 数据访问层 DAO 数据访问对象

一个类只做一种事
一个方法只做一件事
写且只写一次

2、MVC模式

什么是MVC?

MVC:即Model模型、View视图、及Controller控制器

  • View:视图,为用户提供使用界面,与用户直接进行交互
  • Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门用户承载业务数据的,如Student、User等。而业务处理Bean则是指Service或Dao对象,专门用于处理用户提交请求的。
  • Controller:控制器,用于将用户请求转发给相应的Model进行处理,并根据Model的计算结果向用户提供相应响应。
MVC架构的工作流程
  • 用户通过View页面向服务器提出请求,可以是表单请求,超链接请求,AJAX请求等;
  • 服务端Controller控制器接收到请求后对请求进行解析,找到相应的Model对用户请求进行处理
  • Model处理后,将处理结果再交给Controller
  • Controller在接收到处理结果后,根据处理结果找到要作为向客户端发回的响应View页面。页面经过渲染(数据填充后),再发给客户端。

MVC模式是应用于三层架构的视图层的模式

重构原则

重构就是提取方法
事不过三,三则重构

以上是关于三层架构与MVC的主要内容,如果未能解决你的问题,请参考以下文章

浅析MVC模式与三层架构的区别

三层架构与MVC

WEB三层架构与MVC

asp.net三层架构与asp.net MVC各自的区别,各自应该应用在啥场合,在啥情况下用三层,啥情况下用MVC

MVC模型与三层模型

MVC架构与三层架构的关系