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();
            }
        } 
  • 相关阅读:
    我的学习之路_第八章_map集合
    我的学习之路_第七章_list集合,set集合
    我的学习之路_第六章_迭代器,泛型
    我的学习之路_第五章_Data,正则
    我的学习之路_第四章_异常
    我的学习之路_第三章_匿名内部类
    我的学习之路_第二章_接口/多态
    如何使用电脑上的谷歌浏览器来调试安卓手机上的移动端页面
    跨域之jsonp
    跨域之同源策略 Same-origin policy
  • 原文地址:https://www.cnblogs.com/ZengYunChun/p/6094203.html
Copyright © 2011-2022 走看看