问题:
netcore在web项目中可以在statup中进行依赖注入,那么在类库中有默认实现吗?还是只能使用autofac之类的框架实现依赖注入。
回答1:
自带默认实现
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-3.1
回答2:
类库中实现基于 IServiceCollection 的扩展方法供 Startup 中调用
回答3:
类库尽量使用 面向接口
的方式设计。然后额外提供一个类似 .AddMyFrameworkLib() 的 IServiceCollection 扩展方法,在这个方法里面 实现自己类库的相关注入工作。
在某些场景下我们的类库可能不仅仅提供给Aspnet项目使用,可以作下拆分处理,提供多个lib,类似如下:
MyFramework.Core 核心逻辑,基于standard的版本框架或者多目标框架
MyFromework.Aspnetcore ,依赖MyFramework.Core,提供aspnetcore的组装及注入工作