一种使用模型-视图-控制器(model-view-controller) 的设计模式来构建网页应用和API的框架。
框架不是语言,它是利用编程语言开发出来的一套组件。
谁都可以开发自己的框架。
只不过是这个框架是微软开发的。
什么是MVC模式
MVC分三部分:模型、视图与控制器。
这种模式有助于实现关注点分离。
在这种模式下面
用户(网页访问者等)的请求被路由引擎指派到相应的控制器。
然后控制器负责和模型Model协作。然后执行用户的操作,并返回请求结果。
控制器选择视图View显示给用户。视图里面显示Model数据。
MVC的执行流程图
视图和控制器都依赖于模型,而模型并不依赖于视图和控制器。这就是分离关注点的好处。
这样子我们编写程序 变得轻松有条理。
下面谈一下我们的MVC三部分的职责。
模型职责
模型代表了应用的状态和业务逻辑或者其可以展现的一些操作。
使用EF框架 和表进行关联。
实现对数据库的操作。
用来控制视图表单的呈现。
视图职责
视图负责用户界面呈现内容。
使用Razor视图引擎在HTML标记中嵌入.NET代码
视图中可以包含少量的逻辑代码 (Rzor语法等)
控制器职责
控制器是承载用户交互 模型运转 并最终选择相应的视图进行渲染。
控制器处理用户的输入数据。并对数据进行一些处理。然后呈现不同的处理结果给用户。
控制器可以选择不同的模型来进行协作。可以选择不同的视图进行呈现。
控制器不应该有太多逻辑。如果逻辑负责可以考虑使用单一职责原则。把业务逻辑转义到领域模型中。
什么是ASP.NET Core mvc
ASP.NET Core mvc框架配合使用ASP.NET Core。
是一种轻量级 开源 高度可以测试的表现框架。
它提供一种基于模式的方法来构建动态网站。
ASP.NET CORE MVC主要包含
Routing
Model Bind
Model validation
Dependency injection
Filters
Areas
Web APIs
Testability