三层架构和MVC的区别

摘要:
1、 三层架构三层架构通常将整个业务应用程序分为数据访问层、业务逻辑层(也称为域层)和表示层。通过一种将业务逻辑、数据和界面显示分离以组织代码的方法,MVC被独特地开发为将传统的输入、处理和输出功能映射到逻辑图形用户界面结构中。

一、三层架构

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

三层架构和MVC的区别第1张

三层架构和MVC的区别第2张

二、MVC

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

三层架构和MVC的区别第3张

三层架构和MVC的区别第4张

三、三层架构和MVC的区别

MVC(模型Model-视图View-控制器Controller)是一种架构模式,可以用它来创建在域对象和UI表示层对象之间的区分。

同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。

在三层架构中没有定义Controller的概念。这是最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是由业务逻辑与访问数据组成的。而MVC里,则是以实体类构成的。

四、笔记总结

MVC和三层架构的区别:
            M 即Model(模型层),主要负责处理业务逻辑以及数据库的交互
            V 即View(视图层),主要负责显示数据和提交数据
            C 即Controller(控制层),主要是永作辅助捕获请求并控制请求转发

            三层
            UI界面层
            BLL业务逻辑层
            DAL数据访问层

            三层是基于业务逻辑来分的,而mvc是基于页面来分的
            MVC模式是一种复合设计模式,一种解决方案
            三层是种软件架构,通过接口实现编程
            三层模式是体系结构模式,MVC是设计模式
            三层模式又可归于部署模式,MVC可归于表示模式

免责声明:文章转载自《三层架构和MVC的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇计算智能(CI)之粒子群优化算法(PSO)(一)OpenCV学习笔记(13)——轮廓特征下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ELM学习(一)

what?: 极限学习机(extreme learning machine)ELM是一种简单易用、有效的单隐层前馈神经网络SLFNs学习算法。2004年由南洋理工大学黄广斌副教授提出。传统的神经网络学习算法(如BP算法)需要人为设置大量的网络训练参数,并且很容易产生局部最优解。极限学习机只需要设置网络的隐层节点个数,在算法执行过程中不需要调整网络的输入权...

安卓架构

1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细...

微服务架构设计

微服务        软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。 Conway’s law: Organizations which design systems[...] are constrained to pro...

基于Locust、Tsung的百万并发秒杀压测案例[转]

编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文是 3 月 27 日数人云运维负责人庞铮在北京“百万并发”线下活动中的分享记录。   不久前,数人云联合清华大学交叉信息研究院 OCP 实验室通过 10 台 OCP 服务器成功承载了百万并发 HTTP 请求。 此次实验设立的目标是在物理资源最小值的情况下完成 100 万并发处理,通过此次实验,...

C#如何优雅地取消一个流程(非Thread.Abort方法)

一. Thread.Abort() 的缺点 我们使用 Thread.Abort() 来中止一个包裹着某个流程的线程,虽然 C# 并不会像 Thread.Suspend() 提示过时。但是在使用 Thread.Abort() 的时候,确实存在很多的问题: 1. 该方式中止线程是通过在线程执行的时候抛出 ThreadAbortException 异常来实现的。...

打包framework 涉及到得架构问题

一、在项目开发过程中 ,为了适配不通的设备 ,需要我们手动的增加支持设备的架构。那么就需要我们对苹果手机对应的架构所有了解 现在列出目前需要适配的集中机型对应的架构 上图中还少一个基于模拟器的x86_64位得架构 我们在打包framework时,不可避免的要对架构进行设置。如下图: 现对上诉字段进行说明:一下文字引用自网页:http://www.tu...