Autofac 入门文档

原文链接:http://docs.autofac.org/en/latest/getting-started/index.html

在程序中使用Autofac的基本模式是:

  • 用控制反转(IoC)的思想组织程序。
  • 添加对 Autofac 的引用。
  • 程序启动阶段
    • 创建 ContainerBuilder
    • 注册组件。
    • 生成容器。
  • 程序执行阶段
    • 从容器创建生命周期范围对象(ILifetimeScope接口)。
    • 使用生命周期范围对象解析组件实例。

本文通过一个简单的控制台程序演示这些步骤。

组织程序

控制反转的基本思路是,不让类创建它的依赖项,而是将依赖项通过构造函数传递给它。请参阅 Martin Fowler 这篇解释依赖注入/控制反转的文章。

在本示例中,我们定义一个输出“今天”的日期的类。但是,我们不想让它和 Console 类捆绑在一起。这有两个原因:1,方便测试,2,在没有Console的环境中也能使用。

我们还对输出日期的方式进行抽象,这样就可以随时切换到另一个版本,比如输出“明天”的日期。

代码:

using System;

namespace DemoApp
{ // 此接口将“输出”概念从Console类解耦。
// 我们只管“输出”,而不关心操作是怎么进行的。
public interface IOutput
{
void Write(string content);
} // 这里的实现方式是向Console输出内容。
// 也可以用其他方式,比如输出到 Debug 和 Trace。
public class ConsoleOutput : IOutput
{
public void Write(string content)
{
Console.WriteLine(content);
}
} // 这个接口将“输出日期”的概念从具体的输出方法中解耦。
public interface IDateWriter
{
void WriteDate();
} // TodayWriter 是这些元素汇合在一起的地方。
// 它的构造函数有一个 IOutput 参数,通过提供不同的实现类,
// TodayWriter可以将日期写到不同的地方。
// 进一步的,在这里WriteDate的实现方式是输出“今天的日期”,
// 我们可以用另一个类输出其他格式,或者其他日期。
public class TodayWriter : IDateWriter
{
private IOutput _output; public TodayWriter(IOutput output)
{
this._output = output;
} public void WriteDate()
{
this._output.Write(DateTime.Today.ToShortDateString());
}
}
}

现在我们有了组织良好的依赖关系,接下来引入 Autofac。

添加对 Autofac 的引用

首先向项目添加对Autofac的引用。这个示例中,我们只使用 Autofac 的核心部分。其他类型的应用程序可能需要Autofac 集成库。

最简单的方式是使用 NuGet。“Autofac” 程序包包含所有核心功能。

aaarticlea/png;base64,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" alt="" />

程序启动阶段

我们在程序启动时创建 ContainerBuilder 对象,然后向它注册组件。组件可以是表达式,.NET 类型, 或者其他暴露服务的代码。组件可以接受其他依赖项。

假设有下面的.net类型:

public class SomeType : IService
{
}

我们有两种使用它的方式:

- 作为这个类型本身, SomeType

- 作为接口, IService

因此, 这里的组件是 SomeType,它暴露的服务是 SomeType 和 IService。

在 Autofac 中,使用 ContainerBuilder 注册组件:

// 创建builder
var builder = new ContainerBuilder(); // 通常仅通过接口暴露服务
builder.RegisterType<SomeType>().As<IService>(); // 但是, 如果同时需要两种服务(不常见),可以用这种方式:
builder.RegisterType<SomeType>().AsSelf().As<IService>();

在示例程序中,我们要注册全部组件(类)并暴露他们的服务 (接口),以便他们能连接起来。

我们还需要把容器保存起来,以便稍后使用它解析类型。

using System;
using Autofac; namespace DemoApp
{ public class Program
{
private static IContainer Container { get; set; } static void Main(string[] args)
{
var builder = new ContainerBuilder();
builder.RegisterType<ConsoleOutput>().As<IOutput>();
builder.RegisterType<TodayWriter>().As<IDateWriter>();
Container = builder.Build(); // The WriteDate method is where we'll make use
// of our dependency injection. We'll define that
// in a bit.
WriteDate();
}
}
}

现在,容器里注册了全部所需的组件和服务,接下来我们来使用它进行解析。

程序执行阶段

程序执行时,通过从生存范围对象解析并使用组件。

容器本身即是一个生存范围对象,因此可以从容器直接解析类型,但是并不推荐这么做

解析组件时,根据定义的实例范围创建一个新的实例。(解析组件类似于使用new操作符) 有些组件需要清理 (比如实现IDisposable接口) -当生存范围对象被清理时,Autofac 可以同时清理它解析的组件。

由于容器对象的生命周期与应用程序相同,如果从容器直接解析了大量内容, 未处理的组件就会越积越多,从而造成资源泄露。

相反,我们从容器创建一个生存范围对象,然后通过生存范围来解析对象,清理生存范围对象时,从中解析的组件也一同被清理。

(使用 Autofac 集成库时,子范围通常会自动创建。)

对于本示例,“WriteDate” 方法从范围对象获取对象,使用结束时只要清理范围对象。

namespace DemoApp
{
public class Program
{
private static IContainer Container { get; set; } static void Main(string[] args)
{
// ...the stuff you saw earlier...
} public static void WriteDate()
{
// Create the scope, resolve your IDateWriter,
// use it, then dispose of the scope.
using (var scope = Container.BeginLifetimeScope())
{
var writer = scope.Resolve<IDateWriter>();
writer.WriteDate();
}
}
}
}

程序的执行过程如下:

  • “WriteDate” 方法向 Autofac 请求 IDateWriter 实例。
  • Autofac 发现 IDateWriter 映射到 TodayWriter ,于是准备创建一个 TodayWriter 实例。
  • Autofac 发现 TodayWriter 的构造函数需要一个IOutput 实例。
  • Autofac 发现 IOutput 映射到 ConsoleOutput,于是创建一个ConsoleOutput实例。
  • Autofac 使用 ConsoleOutput 实例完成 TodayWriter 的创建。
  • Autofac 返回 TodayWriter。

想输出另一个日期时,可以实现另一个 IDateWriter,然后更改启动阶段的注册内容,而不需要更改其他类。这就是控制反转。

注意: 一般而言,普遍认为服务定位是反模式。(see article) 换言之,随处手工创建范围对象,在代码中零散的使用容器对象是不好的方式。通过使用Autofac 集成库 ,可以避免示例代码中的使用方式。相反,内容在一个位置集中解析,也就是在程序的 “最顶层”位置,极少需要进行手工解析。

更进一步

示例演示了如何使用 Autofac, 您可以继续了解:

Autofac 入门的更多相关文章

  1. 一、Autofac入门

    想要将autofac集成到你的应用程序中需要经过如下步骤: 1.使用控制翻转(IoC)的思想架构你的应用程序: 2.添加autofac引用: 3.在应用程序入口...(At application s ...

  2. Autofac入门

    注意:本文为原创文章,任何形式的转载.引用(包括但不限于以上形式)等,须先征得作者同意,否则一切后果自负. 简介 Autofac 是一个令人着迷的.NET IoC 容器. 它管理类之间的依赖关系.当应 ...

  3. [翻译] Autofac 入门文档

    原文链接:http://docs.autofac.org/en/latest/getting-started/index.html 在程序中使用Autofac的基本模式是: 用控制反转(IoC)的思想 ...

  4. .NET手记-Autofac入门Getting Started

    内容主要翻译自官方文档,原文请看:http://autofac.readthedocs.org/en/latest/getting-started/index.html#application-sta ...

  5. [转]ASP.NET MVC IOC 之AutoFac攻略

    本文转自:http://www.cnblogs.com/WeiGe/p/3871451.html 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用A ...

  6. ASP.NET MVC IOC 之AutoFac攻略

    一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天,发现这个东东确实是个高大上的IOC容器~ Autofa ...

  7. 不复杂的Autofac注入

    private static void SetAutofacWebAPI() { var builder = new ContainerBuilder(); #region 配置注册方法 string ...

  8. Autofac 一个使用Demo

    一:接口 二:实现: 三:调用: 首先上图: 一:接口代码 public interface IPersonDa { PersonEntity Get(int id); } 二:实现 public c ...

  9. ASP.NET MVC IOC 之AutoFac

    ASP.NET MVC IOC 之AutoFac攻略 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天, ...

随机推荐

  1. hdu 2842 Chinese Rings

    点击打开hdu2842 思路: 矩阵快速幂 分析: 1 题目的意思是给定n个环,和一些规则要把所有的环全部拆下最少需要的步数 2 题目规定如果要拆第n个环,那么第n-1个要挂着,n-2环要被拆下.那么 ...

  2. Android开发5:布局管理器2(表格布局TableLayout)

    版本:Android4.3 API18  学习整理:liuxinming 概念      TableLayout继承了LinearLayout,因此它的本质依然是线性布局管理器.      表格布局采 ...

  3. Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区

    Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区 Oschat IM 开源即时通讯项目介绍    255人收藏此文章, 我要收藏 发表于5天前(2013-08-28 ...

  4. shortcut switch in terminal start pos & end pos

    ctrl a ctrl e switch in terminal start pos & end pos

  5. 对Kalman(卡尔曼)滤波器的理解

    1.简单介绍(Brief Introduction) 在学习卡尔曼滤波器之前,首先看看为什么叫"卡尔曼". 跟其它著名的理论(比如傅立叶变换.泰勒级数等等)一样.卡尔曼也是一个人的 ...

  6. 《windows核心编程系列》十八谈谈windows钩子

    windows应用程序是基于消息驱动的.各种应用程序对各种消息作出响应从而实现各种功能. windows钩子是windows消息处理机制的一个监视点,通过安装钩子能够达到监视指定窗体某种类型的消息的功 ...

  7. hdu1506(dp求最大子矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506 分析: 对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下 ...

  8. hdu1243(最长公共子序列变形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1243 分析:dp[i][j]表示前i个子弹去炸前j个恐怖分子得到的最大分.其实就是最长公共子序列加每个 ...

  9. cisco san交换机配置

    1.配置交换机的管理地址switch(config)# interface mgmt 0 switch(config-if)# ip adress 192.168.100.108 255.255.25 ...

  10. Django Form Media 阅读笔记

    ---恢复内容开始--- Form Media Rendering an attractive and easy-to-use Web form requires more than just HTM ...