Autofac简单使用

源码下载传上源码,终于学会传文件了。

首先 还是那句话:“不要信我,否则你死得很惨!”。

C#常见的依赖注入容器

IoC in .NET part 1: Autofac

IoC in .NET part2: StructureMap

IoC in .NET part 3: Ninject 2 beta

IoC in .NET part4: Spring.NET

IoC in .NET part 5: Using CastleWindsor container

IoC Containers in .NET part 6: Unity Container

这里介绍Autofac 据说是速度最快的。我不会考证。就道听途说吧。

Autofac比较灵活,暂时只介绍简单的用法。这种用法还满足不了在生产中使用,下一篇讲如何用在生产中。

不使用Factory类 新建Manage类

 public class Manage
{
private readonly IPeople _people;
//增加了构造函数,参数是IPeople对象
public Manage(IPeople people)
{
_people = people;
}
public void Say()
{
_people.Say();
}
public void Sex()
{
_people.Sex();
}
}

在Main方法中使用

class Program
{
static void Main(string[] args)
{
var builder = new ContainerBuilder();//创建容器
//builder.RegisterType<Manage>();//注册
builder.Register(x => new Manage(x.Resolve<IPeople>()));//注册
//builder.RegisterType<ChineseMan>().AsImplementedInterfaces();
builder.RegisterModule(new ConfigurationSettingsReader("autofac"));//使用config中的配置注册
using (var container = builder.Build())
{
var manager = container.Resolve<Manage>();
manager.Say();
manager.Sex();
}
}

注册有很多种方式。最近有点累,没去深究如何使用,代码也是仿的其他blog。下篇介绍的详细一点。

依赖注入(二)Autofac简单使用的更多相关文章

  1. ASP.NET MVC IOC依赖注入之Autofac系列(二)- WebForm当中应用

    上一章主要介绍了Autofac在MVC当中的具体应用,本章将继续简单的介绍下Autofac在普通的WebForm当中的使用. PS:目前本人还不知道WebForm页面的构造函数要如何注入,以下在Web ...

  2. ASP.NET MVC IOC依赖注入之Autofac系列(一)- MVC当中应用

    话不多说,直入主题看我们的解决方案结构: 分别对上面的工程进行简单的说明: 1.TianYa.DotNetShare.Model:为demo的实体层 2.TianYa.DotNetShare.Repo ...

  3. 大比速:remoting、WCF(http)、WCF(tcp)、WCF(RESTful)、asp.net core(RESTful) .net core 控制台程序使用依赖注入(Autofac)

    大比速:remoting.WCF(http).WCF(tcp).WCF(RESTful).asp.net core(RESTful) 近来在考虑一个服务选型,dotnet提供了众多的远程服务形式.在只 ...

  4. 依赖注入之AutoFac

    一 .IoC框架AutoFac简介 IoC即控制反转(Inversion of Control),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(De ...

  5. 关于.NET中的控制反转(三)- 依赖注入之 Autofac

    一.Autofac简介 Autofac和其他容器的不同之处是它和C#语言的结合非常紧密,在使用过程中对你的应用的侵入性几乎为零,更容易与第三方的组件集成.Autofac的主要特性如下: 组件侵入性为零 ...

  6. 依赖注入容器Autofac的详解

    Autofac和其他容器的不同之处是它和C#语言的结合非常紧密,在使用过程中对你的应用的侵入性几乎为零,更容易与第三方的组件集成,并且开源,Autofac的主要特性如下: 1,灵活的组件实例化:Aut ...

  7. 依赖注入之Autofac使用总结

    依赖倒置?控制反转(IOC)? 依赖注入(DI)? 你是否还在被这些名词所困扰,是否看了大量理论文章后还是一知半解了? 今天我想结合实际项目,和正在迷惑中的新手朋友一起来学习和总结依赖注入Autofa ...

  8. webapi框架搭建-依赖注入之autofac

    前言 c#的依赖注入框架有unity.autofac,两个博主都用过,感觉unity比较简单而autofac的功能相对更丰富(自然也更复杂一点),本篇将基于前几篇已经创建好的webapi项目,引入au ...

  9. SpringBoot系列: 理解 Spring 的依赖注入(二)

    ==============================Spring 容器中 Bean 的名称==============================声明 bean 有两个方式, 一个是 @B ...

随机推荐

  1. 学习日常笔记<day11>cookie及session

    1.会话管理 1.1会话管理定义 会话管理:管理浏览器客户端和服务端之间的会话过程中产生的会话数据 域对象:实现资源之间的数据共享 request 域对象 context 域对象 1.2.会话技术 C ...

  2. 代理服务器squid简介

    Squid 是一个高性能.开源的代理缓存服务器和 Web 缓存进程,支持 FTP.Internet Gopher.HTTPS 和 SSL 等多种协议.它通过一个非阻塞的.I/O 事件驱动的单一进程处理 ...

  3. crontab使用简介

    crontab的配置文件: 前四行是用来配置crond任务运行的环境变量 第一行SHELL变量指定了系统要使用哪个shell,这里是bash 第二行PATH变量指定了系统执行命令的路径 第三行MAIL ...

  4. Deepin-键盘快捷键

    是不是很happy呢? 可以用键盘替代鼠标点点点了! 1.鼠标移到右下角 2.下翻找到"快捷键" 3.自定义一个 4.示例(首先编写个简单的Shell) 程序一般放在/usr/bi ...

  5. Cocos2d-x 3.1.1 学习日志12--一Cocos2dx3.1.1移植到Android平台的方法(最实用最有效的!!)

    须要用到工具(依照顺序): 1.JDK 2.NDK 3.ANT 4.Adt-bundle-windows 将JDK文件夹下的bin文件夹路径加入到系统环境变量中. 解压NDK 解压Adt-bundle ...

  6. jQuery的小例子

    1.在html中插入子页面 <script type="text/javascript"> $(document).ready(function() { $(" ...

  7. Source code for redis.connection

    redis.connection — redis-py 2.10.5 documentation http://redis-py.readthedocs.io/en/latest/_modules/r ...

  8. Why was 80 Chosen as the Default HTTP Port and 443 as the Default HTTPS Port?

    https://www.howtogeek.com/233383/why-was-80-chosen-as-the-default-http-port-and-443-as-the-default-h ...

  9. 浅谈UML学习笔记之用例图

    最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下. 一.概念 用例图是由参与者.用例以 ...

  10. Strus2中关于ValueStack详解

    什么是ValueStack 它是一个接口com.opensymphony.xwork2.util.ValueStack.我们使用它是将其做为一个容器,用于携带action数据到页面.在页面上通过ogn ...