MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。
- 视图是用户看到并与之交互的界面。
- 模型表示业务数据,并提供数据给视图。
- 控制器接受用户的输入并调用模型和视图去完成用户的需求
你能解释下MVC的完整流程吗?
下面是MVC(模型、视图、控制器)架构的控制流程:
- 所有的终端用户请求被发送到控制器。
- 控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图。
- 附加了模型数据的最终视图做为响应发送给终端用户。
MVC同时适用于Windows应用和Web应用吗?
相比Windows应用,MVC架构更适用于Web应用。对于Windows应用,MVP(Model View Presenter )架构更好一点。如果你使用WPF和Silverlight,MVVM更适合。使用MVC有哪些好处?
MVC有两个大的好处:
- 分离了关注点。后台代码被移到单独的类文件,我们可以最大限度的重复利用代码。
- 自动化UI测试成为可能,因为后台代码移到了.NET类。这让我们更容易做单元测试和自动化测试。
MVC不同于三层架构?
功能性 | 三层 / 分层架构 | Model view controller architecture |
显示与交互 | 用户界面 | 视图 |
UI逻辑 | 用户界面 | 控制器 |
商业逻辑 / 验证 | 中间层 | 模型 |
请求首先发送给谁? | 用户界面 | 控制器 |
访问数据 | 数据链接层 | 数据链接层 |