📜  MVC 框架的主要问题是什么?

📅  最后修改于: 2022-05-13 01:56:25.608000             🧑  作者: Mango

MVC 框架的主要问题是什么?

MVC 设计模式简介: MVC 代表模型视图控制器。模型-视图-控制器是一种软件设计模式,通常用于开发用户界面、数据和控制逻辑,即将相关的程序逻辑分为三个相互关联的元素。这主要是为了将信息的内部表示与信息呈现给用户和被用户接受的方式分开。

MVC 架构

MVC 的三个组件:

1.模型:模型被视为模式的核心组件。这定义了应用程序应包含的数据。如果在任何时候数据的状态发生变化,它都会被通知给视图和控制器。

2. 视图:视图定义了应如何显示应用程序的数据以处理用户界面,并用于提供 MVC 模型的可视化表示。它还在最终用户(如输入、请求)和控制器之间进行通信。

3.控制器:也称为MVC的大脑,控制器包含响应用户输入更新模型或视图的逻辑。它负责控制应用程序逻辑,充当视图和视图之间的通信通道该模型。

让我们考虑一个描述 MVC 架构的示例:

汽车驱动机构:每辆车由 3 个主要部分组成:

  • 视图:用户界面(档位、面板、方向盘、制动器、离合器、油门等)
  • 控制器:引擎(处理机制)
  • 型号:存储(汽油/柴油罐)

描述:

MVC 最原始的概念与设计方面有关,与库或框架无关。 ReactJs 是一个流行的前端库,并不遵循 MVC 模式。使用 swift 或任何其他语言阅读 IOS 开发的人通常会遇到 MVC 模式的缺点。适当的代码结构使开发人员的生活顺畅而轻松。但是如果要编写的代码既不属于模型也不属于视图怎么办?根据这个非常 MVC 模式,我们将它写在 Controller 中。这种方法正确吗?绝对不是,这使得理解起来相当复杂和困难。当然,开发不是一个人的表演,因此这种将代码转储到控制器中的策略通常不是首选。下面描述的 MVC 设计模式还有其他各种缺点。

MVC 设计模式的缺点/缺点:

  • 代码/实现通常难以阅读、理解、单元测试和重用模型,这是一个主要缺点,因此不能在微观(小)级别使用。
  • MVC 没有正式的验证支持。
  • MVC 的使用取决于各种因素,例如我们的应用程序由 UI 组成,它是否需要可伸缩性或可扩展性或可测试性或可维护性,例如共享基本信息的简单网页,不需要 MVC 实现,但动态交互页面需要它。
  • MVC 设计模式的另一个主要缺点是部署,因为 UI 开发人员、业务逻辑开发人员和控制器开发人员的独立开发过程可能会导致部署过程延迟,从而导致产品延迟交付给客户。
  • React js 中 MVC 的主要缺点包括对 DOM 的操作,这非常昂贵,而且还以时间和内存浪费为代价。
  • 为了实现 MVC,需要多种语言和技术的知识,这需要具有不同专业知识的大量人力。
  • 代码的维护非常复杂,因为所有代码都存在于 Controller 中。
  • 在 MVC 模式中,视图可能会因更新请求而负担过重,即,如果模型继续进行频繁更改。此外,像图形显示这样的视图可能需要更长的时间来制作,因为它们很复杂,需要快速更新。结果,视图组件落后于所有主要更新。

我们如何解决 MVC 模式的缺点?

近年来,还有另一种设计模式越来越流行。它被视为 MVVM 模型视图视图控制器),有助于维护模型并通过控制器将模型的数据定向到视图。 MVVM 模式的起源可以追溯到 Microsoft,并且它在今天的现代 Windows 开发中继续使用。 MVVM 模式引入了第四个组件,即视图模型。视图模型负责管理模型并通过控制器将模型的数据汇集到视图中。(要了解更多信息,请点击链接 https://www.geeksforgeeks.org/mvvm-model-view-viewmodel-architecture -模式在-android/