zoukankan      html  css  js  c++  java
  • 依赖注入框架Autofac学习笔记

    Autofac是一个轻量级的依赖注入框架,可以在这里面下载:http://code.google.com/p/autofac/downloads/list

    要想了解什么是依赖注入,可以参考下这篇博客:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html

    因为公司有用到这个框架,所以就网上找了些资料学习一下。

    现在通过一个简单的实例来运用一下。

    新建一个控制台应用程序:IocDemo

    然后创建一个IPerson接口

    public interface IPerson
        {
            void Work();
    
            void Eat();
    
            void Sleep();
    
            void Shopping();
        }

    再添加一个Person类,让它继续IPerson接口

    class Person:IPerson
        {
    
            #region IPerson 成员
    
            public void Work()
            {
                Console.WriteLine("I am Working now");
            }
    
            public void Eat()
            {
                Console.WriteLine("I am Eating now");
            }
    
            public void Sleep()
            {
                Console.WriteLine("I am Sleeping now");
            }
    
            public void Shopping()
            {
                Console.WriteLine("I am Shopping now");
            }
    
            #endregion
    
           }

    然后在Main()方法中添加以下代码就OK啦。

        //构建Builder容器
                var builder = new ContainerBuilder();
                //注册
                builder.RegisterType<Person>();
    
                var person = builder.Build(Autofac.Builder.ContainerBuildOptions.Default).Resolve<Person>();
                //然后就可以调用Person类的方法了
                person.Work();
                person.Sleep();
                person.Shopping();
                person.Eat();
                Console.ReadLine();

    关于注册还有另外两个方法:

    //利用Register方法,支持lambda表达式
     builder.Register(c => new Person());
    //利用RegisterInstance
     builder.RegisterInstance<Person>(new Person());
  • 相关阅读:
    c++字符串
    iOS调用相册
    cocos2d-x中有一个JniHelper类详细使用
    iOS 字符串应用
    c++调用java
    iOS调用相册、相机、上传等问题
    win32中GBK、UTF8的互转
    SQL Server海量数据查询代码优化建议
    JSON中的[]和{}
    数据库范式
  • 原文地址:https://www.cnblogs.com/Gyoung/p/2492104.html
Copyright © 2011-2022 走看看