内容简介: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是什么-合理的设计我们的应用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UNIX环境高级编程
W.Richard Stevens、Stephen A.Rago / 尤晋元、张亚英、戚正伟 / 人民邮电出版社 / 2006年 / 99.00元
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息......一起来看看 《UNIX环境高级编程》 这本书的介绍吧!