深入浅出ASP.NET Core学习笔记02MVC和依赖注入
【摘要】 MVC和依赖注入 详解mvc的设计模式 什么是MVCMVC是用于实现应用程序的用户界面层的架构设计模式。模型Model:包含一组数据的类和管理该数据的逻辑信息视图View:包含显示逻辑,用于显示Controller提供给它的模型中的数据控制器Controller:处理Http请求,调用模型,请选择一个视图来呈现该模型 区别于应用程序分层设计mvc(Modal,View,Controller...
MVC和依赖注入
详解mvc的设计模式
什么是MVC
- MVC是用于实现应用程序的用户界面层的架构设计模式。
- 模型Model:包含一组数据的类和管理该数据的逻辑信息
- 视图View:包含显示逻辑,用于显示Controller提供给它的模型中的数据
- 控制器Controller:处理Http请求,调用模型,请选择一个视图来呈现该模型
区别于应用程序分层设计
- mvc(Modal,View,Controller)只是一种设计模式,不是框架。应用程序逻辑分层中(用户展现层、业务逻辑处理层、数据访问读取层),mvc只是用于用户展现层。
MVC 工作面过程
- 路由规则将url映射到Controller Action方法
在asp.net core项目中配置MVC
步骤一:将所需的mvc服务添加到asp.net core中的依赖注入容器中。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
步骤二:添加MV中间件到请求处理管道中
public void Configure(IApplicationBuilder app,IHostingEnvironment env)
{
app.UseMvcWithDefaultRoute();
}
AddMvc 和 AddMvcCore的关系
- AddMvcCore()方法只会添加最核心的MVC服务
- AddMvc()方法添加了所有必须的MVC服务,其内部会调用AddMvcCore()
依赖注入
- 依赖注入是一种软件设计模式,指一个或多个依赖(或服务)被注入,或通过引用传递,传入一个依赖对象(或客户端)并成为客户状态的一部分。该模式通过自身的行为分离了客户依赖的创建,允许程序松耦合设计,同时遵循依赖倒置和单一职责原则。与服务定位器模式对比,它允许用户了解他们用来查找依赖的机制。
ASP.NET Core依赖注入
ASP.NET Core依赖注入容器注册服务
- AddSingleton()
- AddTransient()
- AddScoped()
依赖注入的两点
- 低耦合
- 提供了高测试性,使单元测试更加的容易
ASP.NET Core中的模型绑定与验证
- 模型绑定是将http请求中的数据映射到控制器操作方法上对应的参数
- 操作方法上对应的参数可以是简单类型如整数、字符串等,也可以是复杂类型,如 Customer, Employee等模型
- 模型绑定节约了大量时间,减少了自定义代码将请求数据映射到操作方法参数的繁琐过程
模型绑定将按以下指定顺序在以下位置查找来自http请求中的数据:
- Form values(表单中的值)
- Route values(路由中的值)
- Query strings(查询字符串)
模型验证
(1)在属性上添加验证属性 [Required]等
(2)使用ModelState.IsValid 属性验证属性是成功还是失败
(3)使用 asp-validation-for 和 asp-validation-summary标签帮助器来显示错误信息
EntityFramework Core
- 使用EntityFramework Core(EF Core)数据访问
- ORM(对象关系映射器)Object-Relational Mapper
- EF Core 是轻量级,可扩展和开源的软件
- EF Core 也是跨平台的
- EF Core 是微软官方推荐的数据访问平台
两种模式:Code First 和 DB First
仓储模式
- 松耦合,易扩展
- 代码更清晰,易于重用和维护
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)