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. |