前言
上一章实现了最基础的领域层、应用层和展现层,但当前的设计耦合度太高。本文将使用autofac来进行解耦。
一、操作步骤
1.使用nuget添加Autofac和Autofac.Extensions.DependencyInjection
2.仓储层改造
2.1添加AutofacModule类 YudianPSIEntityFrameworkCoreModule并注册仓储服务
BasicDictionaryRepository
public class YudianPSIEntityFrameworkCoreModule : Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
builder.RegisterType<BasicDictionaryRepository>().As<IBasicDictionaryRepository>();
}
}
2.2仓储类构造方法 context调整为依赖注入。
3.应用层改造
3.1添加AutofacModule类YudianPSIApplicationModule 并注册应用服务
BasicDictionaryService
public class YudianPSIApplicationModule : Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
builder.RegisterType<BasicDictionaryService>().As<IBasicDictionaryService>();
}
}
3.2 服务类构造方法也调整为依赖注入
4.展现层改造
4.1添加Autofac注入module
总结
以上就是关于Autofac的集成,下一节将继续完善仓储层。谢谢大家