技术指南:MVC是什么-合理的设计我们的应用

栏目: 后端 · 发布时间: 5年前

内容简介:1.理解 MVC 架构的概念2.能够在项目中应用 MVC 架构模式12.1 MVC

目标

1.理解 MVC 架构的概念

2.能够在项目中应用 MVC 架构模式

任务实现

12.1 MVC

应用程序开发人员在工作中都需要考虑一些问题,如:

如何简化开发

如何降低应用程序的耦合性

如何提高代码的重用性

如何提高应用程序的可扩展性及维护性

......

1979年,由 Trygve Reenskaug 在 Smalltalk-80 系统上首次提出了 MVC 的概念,主要核心就是由专业的人做专业的事。MVC 模式代表 Model(模型)-View(视图)-Controller(控制器)模式。这种模式主要应用于应用程序的分层开发。将应用程序中显示什么数据、数据由谁处理、怎么处理进行分离,可以由不同的开发人员专注于自己的领域,而无需关注其它。

12.1.1 MVC架构概念

MVC将应用程序划分为三种组件,并明确定义了它们之间的相互作用:

模型(Model):用于封装与应用程序的业务逻辑相关的数据以及对数据的处理法。"Model"有对数据直接访问的权力,例如对数据库的访问。"Model"不依赖"View"和"Controller",也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变

视图(View):能够实现数据有目的的显示。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册

控制器(Controller):可以将控制器理解为一个桥梁,处理事件并作出响应。负责从视图读取数据,控制用户输入,并向模型发送数据

12.1.2 MVC架构优缺点

不论是什么技术,使用什么理念,尤其是能够经过长时间的应用实践,都有其显著的优点,有优点,也必然存在一些缺点,下面我们来看一下 MVC 模式的优缺点。

优点

高内聚性 - MVC可以在控制器上对相关操作进行逻辑分组。特定模型的视图也可以组合在一起。

耦合性低 - MVC框架的本质是模型,视图或控制器之间的耦合较低

重用性高 -允许使用各种不同样式的视图来访问同一个服务器端的代码;将数据和业务规则从表示层分开,可以最大化的重用代码。模型也有状态管理和数据持久性处理的功能

提高可扩展性与可维护性 - 由于分离视图层和业务逻辑层也使得WEB应用更易于维护和修改

利于项目的管理 - 由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、 工具 化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求

简化了分组开发-不同的开发人员可同步开发应用项目中的视图、控制器逻辑和业务逻辑

缺点

增加系统结构及代码量-对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性及相应的代码量

不适用于中小型应用项目 - 将MVC应用到规模并不是很大的应用程序通常会降低开发效率,增加开发成本

显著的学习曲线 - 关于掌握多种技术的知识成为常态。使用MVC的开发人员需要熟练掌握多种技术

§ 区块链技术QQ交流群:263270946 § 掌握更多技术干货,关注微信公众号“ChainDesk”

12.1.3 MVC架构的实际应用

MVC 不是一种技术,而是一种理念。下面是一个通过 JavaScript 所实现的基于 MVC 模型,在这个简短的代码中就写成了一个具有完整 MVC 架构模式概念的示例。

技术指南:MVC是什么-合理的设计我们的应用

未经授权禁止转载、改编,转载请注明出处!


以上所述就是小编给大家介绍的《技术指南:MVC是什么-合理的设计我们的应用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Structures and Algorithms

Data Structures and Algorithms

Alfred V. Aho、Jeffrey D. Ullman、John E. Hopcroft / Addison Wesley / 1983-1-11 / USD 74.20

The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same......一起来看看 《Data Structures and Algorithms》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具