(五)React Ant Design Pro + .Net5 WebApi:后端环境搭建-Autofac注入+ 泛型仓储


一、 简介

Autofac与.Net Core自带DI的区别,大佬级的文章数不胜数。我只是根据实际应用简单介绍(非常简单的那种)
1、批量注入,自带DI需要自己写循环反射注入,Autofac现成方法,简洁的多。
2、其他功能,Autofac玩法丰富,官网或其他文章都有介绍。

二、 使用

1、Nuget
2、Program.cs
3、Startup.cs
这里需要添加一个方法,在方法里进行注入,注入时在最后带上.PropertiesAutowired()是开启属性注入。如果内容太多比较臃肿,注入模块也可以单拎出去

//新建注册类,继承Autofac.Module,修改Startup.cs
public void ConfigureContainer(ContainerBuilder builder)
{
    builder.RegisterModule(new AutofacModuleRegister());
}
public class AutofacModuleRegister : Autofac.Module
{
    protected override void Load(ContainerBuilder builder)
    {
        //注入代码
    }
}

三、 仓储

几点理解看法或者说是疑问吧
1、看了好多概念定义,大佬们对仓储都实现代码不尽相同。我Get到是:仓库管理员通过某种方式对所有货物进行管理。表象就是ORM操作数据库,虽然方式不同,但是效果呢好像跟ADO的“暴力SQL”又没啥区别,可能学习了DDD之后就能有更深层次的理解吧。
2、BaseService:IBaseService,如果跟BaseRepository:IBaseRepository结构一样,只是让TService通过BaseService再调用仓储,那存在的意义是什么?IBaseRepository已经注入,TService直接调用就好了。BaseService写一些公共方法供TService调用,比如获取权限、字典等等,可能是这样不符合设计模式?
3、结合实际业务开发及编码习惯定义了每层类库之间的关系,也许随着学习深入能get到上述点,可以再完善。目前结构是这样的:
Controller构造函数获取所需服务接口ITService,每个接口对应一个服务实现类TService,并继承BaseService,TService构造函数获取仓储供方法调用。
这是几个空方法,EF登场后再完善。

四、相关阅读

https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-5.0
https://autofac.readthedocs.io/en/latest/getting-started/index.html
https://autofac.readthedocs.io/en/latest/integration/aspnetcore.html#asp-net-core-3-0-and-generic-hosting
https://www.cnblogs.com/laozhang-is-phi/p/all-knowledge-for-netcore.html
https://www.cnblogs.com/clis/p/14294042.html
https://www.cnblogs.com/shewoqishui/p/14636489.html

文章来源:https://www.cnblogs.com/WinterSir/p/15619543.html

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:放弃 AutoMapper ,拥抱 Mapster
下一篇:C# Abp框架入门系列文章(一)
评论列表

发表评论

评论内容
昵称:
关联文章

React Ant Design Pro + .Net5 WebApi环境-Autofac注入+ 仓储
Elasticsearch使用系列-ES简介和环境
RabbitMQ服务器环境方法(Windows)
.NET中大型项目开发必备(5)--Web服务/WebApi的负载均衡
ASP.NET+MVC入门踩坑笔记 (一) 创建项目 项目配置运行 以及简单的Api
.Net Core依赖注入
C# 利用Autofac批量接口注入依赖【学习记录】
OrchardCore Headless
windows平台的分布式微服务解决方案(5)--Web服务/WebApi的负载均衡
YESWEB开发环境
YESWin winform开发框架 开发环境指南
阿里云FTP服务器访问报错 200,227错误
mysql服务器运行环境要求
C# WPF MVVM模式Prism框架从零(经典)
.NET Core中的鉴权授权正确方式(.NET5)
使用node启动本地项目,本地服务器
记一次 .NET 某化妆品 webapi 卡死分析
记一次 .NET 某药品仓储管理系统 卡死分析
AP.NET Core获得注入管理器
Winform中使用HttpClient与api服务进行交互

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码