Autofac通用集成方案(支持.net core、.net framework 4.6.1平台)

本文介绍了选择Autofac作为IoC框架的原因,并详述了一个通用的集成方案,将业务组件拆分为Service.Model、Service.Interface、Service.Core和服务配置四部分,降低了代码耦合。通过示例展示了在ASP.NET Web API和.NET Core Web API中如何引入并注册服务,强调了Autofac的低侵入性特点。
摘要由CSDN通过智能技术生成

为了保证团队代码可阅读性、风格统一性、降低代码耦合性,我在网上搜索了非常多的ioc框架,最终我选择了autofac,因为autofac在.net平台中非常活跃,性能也非常不错,同时支持.net core 平台和.net framework,并且其框架集成进项目中对开发者上来说基本上没有什么侵入性,这点我是特别喜欢,我喜欢干净而又富有内涵的代码。有关于autofac的详细测评大家可以参考这篇文章:https://www.cnblogs.com/liping13599168/archive/2011/07/17/2108734.html

为了让autofac方便集成,我思考了许久,把现有的Service(业务组件)类库拆分成了4个组件,并用.net standard2.0(更加通用)来编写这几个类库,分别为:

Service.Model(模型层):每个业务层从数据库读取数据之后都需要转换成适合业务的业务模型,避免UI层访问数据库模型对象。

Service.Interface(接口层):每个对外的业务都需要定义成接口,并且写清楚注释,方便调用者调用,调用者无需知道具体实现。

Service.Core(业务层):每个具体的业务实现在此实现,并且继承各自的接口,并实现其对外公开的方法。

Service.Config(配置层):业务层中所有的基本配置都在这里实现,比如ioc、redis、数据层等初始化操作。

具体依赖关系图如下:

 

我根据这个关系图,做出了autofac的demo。

如果开发要开发一个新业务,具体的步骤是这样的:

(1)确定业务需求---->(2)设计业务模型---->(3)编写接口---->(4)编写业务类---->(5)在配置中注册这个业务类

如果需要在asp.net web api中引用这个Service,

首先需要引入Service.Interface、Service.Model、Service.Config三大组件,然后需要在App_Start中WebApiConfig类中编写如下代码即可:

//创建autofac容器构建器
var builder = new ContainerBuilder();

//初始化Service
ServiceConfig.Bu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值