MVC是一种使用MVC(View模型-视图-控制器)
2021-10-10
MVC 是一种使用 MVC(View -View-)设计来创建 Web 应用程序的模式:
(模型)代表应用程序的核心(如数据库记录列表)。
查看显示数据(数据库记录)。
(控制器)处理输入(写入数据库记录)。
MVC 模型还提供对 HTML、CSS 和 HTML 的完全控制。
(模型)是应用程序的一部分,用于处理应用程序的数据逻辑。
通常模型对象负责访问数据库中的数据。
视图(view)是应用程序中处理数据显示的部分。
通常视图是基于模型数据创建的。
(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图中读取数据php高级程序设计:模式,框架与测试,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以一次专注于一个方面。例如,您可以专注于视图设计而不依赖于业务逻辑。它还使应用程序测试更容易。
MVC 分层还简化了组开发。不同的开发人员可以同时开发视图、控制器逻辑和业务逻辑。
框架和设计模式的区别
很多程序员经常把框架模式和设计模式混为一谈,认为MVC是一种设计模式。事实上,它们是完全不同的概念。
框架和设计模式这两个概念总是容易混淆。事实上,它们之间还是有区别的。框架通常是代码重用,设计模式是设计重用,架构介于两者之间。部分代码重用,部分设计重用,有时分析可以重用。
软件生产中的重用分为三个层次:内部重用,即可以在同一个应用程序中公开使用的抽象块;代码重用,即将通用模块组合成库或工具集,使其可以在多个应用和领域中使用;应用程序框架的复用是为特殊领域提供通用或现成的基础设施,以获得最高级别的复用性。
框架和设计模式虽然相似,但本质上是不同的。设计模式是对在一定环境中重复出现的问题的描述以及对问题的解决方案。它比框架更抽象;一个框架可以用代码表达,也可以直接执行或重用。对于模式,只能使用示例。用代码表示;
设计模式是比框架更小的元素。一个框架通常包含一个或多个设计模式。该框架始终针对特定的应用领域,但相同的模式可以应用于各种应用。可以说,框架就是软件,设计模式就是软件的知识。
框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等;
有哪些框架?
C++语言QT、MFC、gtk、Java语言SSH、SSI、PHP语言(MVC模式)、语言(MTV模式)等
有哪些设计模式?
工厂模式、适配器模式、策略模式等。
总之:框架是大智慧,用来划分软件设计;设计模式是小技巧,针对具体问题提出解决方案,以提高代码复用率,降低耦合度。
基于 Web 的 MVC 在 J2EE 世界中得到了空前的繁荣。几乎每隔一两周就会在 TTS 网站上发布一个新的 MVC 框架。更好的 MVC 和旧的。新兴的MVC框架包括MVC、JSF等。
其中大部分是知名团队的作品,也有一些边缘团队的作品,也相当不错,比如,等等,这些框架提供了很好的分层能力。在实现良好的MVC分离的基础上,通过提供一些现成的辅助类库也促进了生产效率的提升。
MVC特点:
优势
低耦合
视图层和业务层分离,允许改变视图层代码而无需重新编译模型和控制器代码。同样,对应用程序的业务流程或业务规则的更改只需要更改 MVC 模型层。由于模型与控制器和视图分离,因此很容易更改应用程序的数据层和业务规则。
模型是自包含的,与控制器和视图分离,因此很容易改变应用程序的数据层和业务规则。如果将数据库迁移到LDAP或将数据源更改为LDAP,则只需更改模型即可。
一旦模型正确实现,无论数据来自数据库还是 LDAP 服务器,视图都会正确显示它们。由于使用MVC的应用程序的三个组件是相互独立的,改变其中一个不会影响另外两个,因此可以基于这种设计思想构建一个良好的松耦合组件。
高复用性
随着技术的不断进步,访问应用程序的方式也越来越多。MVC模式允许使用不同风格的各种视图访问同一个服务器端代码,因为多个视图可以共享一个模型,其中包括任何WEB(HTTP)浏览器或无线浏览器(wap)。
例如,用户可以通过电脑或手机订购某种产品。虽然订购方式不同,但订购产品的加工方式是一样的。由于模型返回的数据没有格式化,同一个组件可以被不同的接口使用。
比如很多数据可能用HTML表示,但也可能用WAP表示。这些表示所需的命令是改变视图层的实现方式php高级程序设计:模式,框架与测试,而控制层和模型层则不需要改变。由于数据和业务规则已经与表示层分离,代码重用可以最大化。该模型还具有状态管理和数据持久化处理的功能。
低生命周期成本
MVC 减少了开发和维护用户界面的技术含量。
快速部署
使用MVC模型可以大大减少开发时间。它使程序员(Java 开发人员)能够专注于业务逻辑,并使界面程序员(HTML 和 JSP 开发人员)能够专注于表示。
高可维护性
将视图层和业务逻辑层分离,也使 Web 应用程序更易于维护和修改。
有利的软件工程管理
由于不同层各司其职,因此每一层的不同应用具有一些相同的特点,有利于通过工程和工具对程序代码进行管理。控制器还提供了一个好处,就是可以使用控制器连接不同的模型和视图来完成用户的需求,这样控制器就可以为构建应用程序提供强大的手段。
给定一些可复用的模型和视图,控制器可以根据用户的需要选择模型进行处理,然后选择视图将处理结果展示给用户。
缺点
没有明确的定义
完全理解MVC并不容易。MVC的使用需要仔细规划,因为它的内部原理比较复杂,所以需要花一些时间去思考。同时,由于模型和视图必须严格分离,这也给应用调试带来了一定的困难。每个组件在使用前都需要经过彻底的测试。
不适合中小型应用
花费大量时间将 MVC 应用于不是很大的应用程序通常会超过收益。
增加系统结构和实现的复杂性
对于简单的界面,严格遵循MVC,将模型、视图和控制器分开,会增加结构的复杂度,可能会产生过多的更新操作,降低运行效率。
视图和控制器连接太紧
视图和控制器彼此分离,但它们是密切相关的组件。视图没有控制器,其应用非常有限,反之亦然,这阻碍了它们的独立重用。
查看对模型数据的低效访问
根据模型操作界面的不同,可能需要多次调用视图才能获得足够的显示数据。不必要地频繁访问未更改的数据也会影响操作性能。
一般高级界面工具或构建器不支持模式
适配这些工具来满足MVC的需要以及建立单独的组件的成本非常高,这会给MVC的使用带来困难。
如何选择一个好的框架应用到项目中,对项目的效率和复用性至关重要。
报告/反馈