zoukankan      html  css  js  c++  java
  • 依赖注入例子

     class Program
        {
            interface ILogger
            {
                void Log(string message);          
            }
            class Logger : ILogger
            {
                public void Log(string message)
                {
                    Console.WriteLine(message);
                }
            }

            interface IPropertyInject
            {
                ILogger PropertyLog { get; set; }
            }

            class PropertyInject : IPropertyInject
            {
                public ILogger PropertyLog { get; set; }
            }

            class ConstuctorInject
            {
                private ILogger ConstuctorLog;
                public ConstuctorInject(ILogger log)
                {
                    ConstuctorLog = log;
                }
                public void Log()
                {
                    ConstuctorLog.Log("我是构造函数注入");
                }
            }
            
            static void Main(string[] args)
            {
                var container = new WindsorContainer();
                container.Register(Component.For<ILogger>().ImplementedBy<Logger>());
                container.Register(Component.For<IPropertyInject>().ImplementedBy<PropertyInject>());
                container.Register(Component.For<ConstuctorInject>());

                var logger = container.Resolve<ILogger>();
                logger.Log("我是依赖注入实例化");

                var property = container.Resolve<IPropertyInject>();
                property.PropertyLog.Log("属性依赖注入");

                var consturctor = container.Resolve<ConstuctorInject>();
                consturctor.Log();
            }
        } 
  • 相关阅读:
    C#,调用Process解压文件
    使用Jquery的treeview
    利用VS2010的项目生成事件属性进行生成文件的复制与打包
    简单理解laravel框架中的服务容器,服务提供者以及怎样调用服务
    详解PHP实现定时任务的五种方法
    php 回调函数和匿名函数
    mongodb的连接和开启安全验证
    关于版本号:alpha、beta、rc、stable
    php7 mongodb 扩展windows 安装
    终端提交代码到码云
  • 原文地址:https://www.cnblogs.com/ZengYunChun/p/6094203.html
Copyright © 2011-2022 走看看