📜  MVC 和 MVT 设计模式的区别

📅  最后修改于: 2021-09-14 01:58:58             🧑  作者: Mango

1.模型视图控制器(MVC):
它是一种软件设计模式,用于实现用户界面,并强调将数据表示与交互和处理数据的组件分离。

它有 3 个组件,每个组件都有特定的用途:

  • 模型是该架构的核心组件,管理数据、逻辑以及应用程序的其他约束。
  • 视图处理如何向用户显示数据并提供各种数据表示组件。
  • 控制器操作模型并通过充当两者之间的桥梁来呈现视图。

2.模型视图模板(MVT):
这是另一种类似于 MVC 的设计模式。它也用于实现 Web 界面和应用程序,但与 MVC 相比,控制器部分由框架本身负责。

它有 3 个组件,每个组件都有特定的用途:

  • 这个类似于 MVC 的模型充当您的数据的接口,基本上是整个 Web 应用程序背后的逻辑结构,由 MySql、PostgreSQL 等数据库表示。
  • 视图执行业务逻辑并与模型交互并呈现模板。它接受 HTTP 请求,然后返回 HTTP 响应。
  • 模板是使 MVT 与 MVC 不同的组件。模板充当表示层,基本上是呈现数据的 HTML 代码。这些文件中的内容可以是静态的也可以是动态的。

MVC 和 MVT 设计模式的区别:

S.NO. Model View Controller (MVC) Model View Template (MVT)
1. MVC has controller that drives both Model and View. MVT has Views for recieving HTTP request and returning HTTP response.
2. View tells how the user data will be presented. Templates are used in MVT for that purpose.
3. In MVC, we have to write all the control specific code. Controller part is managed by the framework itself.
4. Highly coupled Loosely coupled
5. Modifications are difficult Modifications are easy
6. Suitable for development of large applications but not for small applications. Suitable both small and large applications.
7. Flow is clearly defined thus easy to understand. Flow is sometimes harder to understand as compared to MVC.
8. It doesn’t involve mapping of URLs. URL pattern mapping takes place.
9. Examples are ASP.NET MVC, Spring MVC etc. Django uses MVT pattern.