AutoFac 简单好用的IOC
2016-03-01 14:53
337 查看
0. 安装autofac的nuget
1. 准备测试接口和类
2. 编写autofac模块
这样的设计是主张模块化编程,把职责隔离到不同的dll,这样之后更新起来只需要替代指定dll即可。
3. 注册autofac模块,运行测试
先创建一个builder,然后注册模块,最后builder调用Build函数返回container对象。
接下来可以选择性的控制对象的生命周期。
4.完成测试。
1. 准备测试接口和类
class BallGame : IPlay { public void Do() { Console.WriteLine("ball game"); Console.Read(); } } class ComputerGame : IPlay { public void Do() { Console.WriteLine("computer game."); Console.Read(); } } interface IPlay { void Do(); }
2. 编写autofac模块
class PlayModule : Module { protected override void Load(ContainerBuilder builder) { builder.RegisterType(typeof(ComputerGame)).As(typeof(IPlay)).InstancePerLifetimeScope(); } }
这样的设计是主张模块化编程,把职责隔离到不同的dll,这样之后更新起来只需要替代指定dll即可。
3. 注册autofac模块,运行测试
var builder = new ContainerBuilder(); builder.RegisterModule(new PlayModule()); var container = builder.Build(); //container.Resolve<IPlay>().Do(); using (var scope = container.BeginLifetimeScope()) { var play = scope.Resolve<IPlay>(); play.Do(); }
先创建一个builder,然后注册模块,最后builder调用Build函数返回container对象。
接下来可以选择性的控制对象的生命周期。
4.完成测试。
相关文章推荐
- 综合任务
- Gradle 基础
- Qt之QHeaderView添加复选框
- Qt之QHeaderView添加复选框
- httpClient对post内容gzip压缩和server端解压接收
- 别再让C++头文件中出现“using namespace xxx;” http://blog.csdn.net/dj0379/article/details/11565387
- 正则表达式
- 面向对象的六大原则之 —— 开闭原则
- WebService的两种方式SOAP和REST比较
- 《大型网站技术架构》读书笔记一:大型网站架构演化
- 《大型网站技术架构》读书笔记二:大型网站架构模式
- Java 新IO
- Linux常用命令备注
- Android自定义控件-仿淘宝ios客户端天猫商品详情界面
- WordPress的文章自动添加关键词及关键词的SEO优化
- 双击鼠标HOOK学习
- 宏元编程——逻辑控制——实现循环一
- Spring整和ActiveMQ
- erlang nif中文翻译手册
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素