有关《MVC、三层》的讨论

【前言】

这是一篇有关MVC与三层的讨论文章,欢迎大家评论!说出自己的观点。

【内容】

1.首先,什么是MVC呢?

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

其中,

Model模型,是业务模型 应用程序核心(比如数据库记录列表);

View视图,用户界面显示数据(数据库记录);

C控制器,处理输入(写入数据库记录)。

2.MVC框架

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

3.MVC编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

(1)Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

(2)View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

(3)Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

那MVC框架和MVC编程模式有什么联系和区别呢?

4.框架与设计模式区别与联系

(1)框架通常是代码重用,设计模式是设计重用,而架构介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。

(2)设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识

架构与框架 一个架构可以通过多种框架来实现;

框架与设计模式 一种设计模式可以应用于不同的框架被不同的语言实现;框架是多种设计模式和代码的混合体。

架构与设计模式 一个架构中可能会出现多个设计模式来结果架构中的问题。

5. 为什么叫MVC呢?

起初并不是MVC,而是MVCE,也就是Model - View - Controller后面多了一个Editor。但是当时提出MVC的理念和现在的理念大致是一样的。都是为了讲数据模型和视图层分离开来。

其实MVC是一种框架模式,而非设计模式,GOF把MVC看做是3种设计模式:《观察者模式》、《策略模式》,《组合模式》三者的合体。其核心是《观察者模式》。

6.MVC架构与三层思想

三层是基于业务逻辑来分的,而mvc是基于页面来分的

(1)三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。比如将数据库操作代码封装到一层中,提供一些方法根据参数直接返回用户需要的相应数据,这样在处理具体的业务逻辑的时候,就不用关心数据的存储问题了。

(2)MVC是在应用程序(BS结构)的视图层划分出来的不同功能的几个模块。MVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的 HTML 页面尽可能的和业务代码分离。MVC把纯净的界面展示逻辑(用户界面)独立到一些文件中(Views),把一些和用户交互的程序逻辑(Controller)单独放在一些文件中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。

(3)之所以说MVC和三层毫无关系,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决BS应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

参考博客:https://blog.csdn.net/qq_17478541/article/details/62897080

7. 了解ASP.NET MVC

(1)ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。

ASP.NET 支持三种不同的开发模式:

Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)。

(2)ASP.NET MVC是微软的开发团队基于MVC开发的一个易于被测试的框架。它具有以下特性:

没有数据回传;没有在页面中保存视图状态;开发者可以完全掌控页面的呈现过程;易于单元测试;易于测试驱动开发;可扩展、可替换;支持WebForm中的有关特性,如:用户控件、母版页、数据绑定、本地化等;不在基于文件目录结构,而是将URL映射到控制器中。

8. 了解Spring MVC

SpringMVC是一款Web MVC框架。

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。

9.有关讨论博客参考

https://baike.baidu.com/item/三层架构/11031448?fr=aladdin

https://www.runoob.com/w3cnote/three-tier-architecture.html

欢迎大家多多评论!一起讨论!

发布了113 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/frj0260/article/details/100048637
今日推荐