三层结构与MVC

  实验室学弟突然又谈到了三层结构与MVC的话题,想想还是有必要整理一下这些个基本概念,且也纠正自己之前对二者的概念混淆,乃至将其错误思想指导域开发中。

  关键词:三层结构(三层架构)MVC框架基于J2EE/BS软件结构的三层架构Service/Model/Controller三者的区别

一、三层结构(3-Tier Architecture)

  1. 目的:为了服从“高内聚低耦合”的思想。

  2.优点:降低层与层之间的依赖、标准化。

  3.缺点:系统架构复杂,不适合小型项目。

  4.定位:最经典/最常见的软件体系架构设计中的一种。常见的其他软件架构设计还有:分层模式(含:三层结构)、客户端-服务器模式、主从设备模式、管道-过滤器模式、代理模式、点对点模式、事件总线模式、模型-视图-控制器(MVC)模式、黑板模式、解释器模式。

  5.哪三层?分层式结构一般分为三层,从下至上分别为:数据访问层(Data Access Layer)业务逻辑层(Business Logic Layer,又或称为领域层,Domain)、表示层(又称为界面层,User Interface Layer)。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上。

  三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。

  6.数据访问层主要看数据层里面有没有包含逻辑处理,实际上它的各个函数主要完成各个对数据文件的操作。而不必管其他操作。主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。

  7.业务逻辑层主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。

  8.界面层主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx、jsp,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

  

三、参考文献

  1.【10种常见的软件架构模式】https://www.cnblogs.com/IcanFixIt/p/7518146.html

  2.【三层结构 - 百度百科】https://baike.baidu.com/item/三层架构/11031448?fr=aladdin

猜你喜欢

转载自www.cnblogs.com/johnnyzen/p/9198072.html