MVC设计模式

MVC听起来跟代码并没有什么关系,但它实际上与软件开发密不可分

MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

简单介绍一下MVC

MVC模式是在上个世纪八十年代开始使用的一种软件架构,它的目的是实现一种动态的程序设计。什么叫动态的程序设计呢?就是简化程序的修改和拓展的过程,使程序的某一部分的重复利用成为可能。举个栗子,在开发程序1.0版本的时候写的那些核心代码,在1.1版本的时候基本还都能用上,只需要增加一些功能就可以了。并且,MVC对于多人开发很友好,开发人员可以根据自己的技术方向分组进行开发:

  • 控制器(Controller)- 负责转发请求,对请求进行处理。
  • 视图(View) - 界面设计人员进行图形界面设计。
  • 模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

优点

在最初的JSP网页上面,数据库的查询/连接常常和HTML这样的表示层代码混在一起。这意味着如果修改了数据库层面的东西,我需要一个个的去修改每个jsp页面的代码,这非常麻烦。而MVC从根本上强制性的将他们分开,虽然构造MVC需要一些额外的工作,但是这很值得。

评价

MVC 模式的应用程序的目的就是希望打破以往应用程序使用的大杂烩程序撰写方式,并间接诱使开发人员以更高的架构导向思维来思考应用程序的设计,因此对于一个刚入门的初学者来说,架构导向的思考会有一定的门槛,需要较多的实现与练习才能具备相应的能力,大多数的初学者还是较习惯于大杂烩式的程序撰写,所以可能会对 MVC 模式抱持着排斥或厌恶的心态,然而 MVC (或是其他的Design Patterns) 都是有助于应用程序长远的发展,虽然大杂烩式的程序也可以用来发展长生命周期的应用程序,但是相较于 MVC,大杂烩式的程序在可扩展性和可维护性 (尤其是可测试性) 上会远比 MVC 复杂很多,相反的,MVC 模式的应用程序是在初始开发时期必须先思考并使用软件架构,使得开发时期会需要花较多心力,但是一旦应用程序完成后,可扩展性、可维护性和可测试性反而会因为 MVC 的特性而变得容易。

注意:MVC并不是一种技术,而是一种设计理念

原文地址:https://www.cnblogs.com/QuixoteY/p/9943886.html