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();
            }
        } 
  • 相关阅读:
    log4j在eclipse下使用
    Java实现IOS推送(利用javapns1.6)
    [转]浅谈多核CPU、多线程与并行计算
    关于select的字段加别名的语法
    [转]maven环境快速搭建
    Java实现IOS推送(Javapns2.2)
    千年服务器GM命令及使用详解
    [转载 蓝韦巍]类似浩方、VS对战平台系统的实现
    召唤和删除怪物程序段
    WPE下载 & WPE & 各版本下载 及 教程
  • 原文地址:https://www.cnblogs.com/ZengYunChun/p/6094203.html
Copyright © 2011-2022 走看看