zoukankan      html  css  js  c++  java
  • c# 依赖注入之---setterInjection(转)

    图3.1 Setter注入示意

    定义一个接口:

    namespace SetterInjection
    {
        internal interface IServiceClass
        {
            string ServiceInfo();
        }
    }

    定义一个要实现该接口的类A:

    internal class ServiceClassA : IServiceClass
        {
            public string ServiceInfo()
            {
                return "我是ServceClassA";
            }
        }

    定义一个要实现该接口的类B:

     internal class ServiceClassB : IServiceClass
        {
            public string ServiceInfo()
            {
                return "我是ServceClassB";
            }
        }
    

     定义一个主体类---注入点:

      internal class ClientClass
        {
            private IServiceClass _serviceImpl;
            public void Set_ServiceImpl(IServiceClass serviceImpl)
            {
                this._serviceImpl = serviceImpl;
            }
    
            public void ShowInfo()
            {
                Console.WriteLine(_serviceImpl.ServiceInfo());
            }
        }

    Main:

       class Program
        {
            static void Main(string[] args)
            {
                //setterInjection
                IServiceClass serviceA = new ServiceClassA();
                IServiceClass serviceB = new ServiceClassB();
                ClientClass client = new ClientClass();
    
                client.Set_ServiceImpl(serviceA);
                client.ShowInfo();
                client.Set_ServiceImpl(serviceB);
                client.ShowInfo();
                Console.ReadLine();
            }
        }

    结果:

  • 相关阅读:
    48. Rotate Image
    83. Remove Duplicates from Sorted List
    46. Permutations
    HTML5笔记
    18. 4Sum
    24. Swap Nodes in Pairs
    42. Trapping Rain Water
    Python modf() 函数
    Python min() 函数
    Python max() 函数
  • 原文地址:https://www.cnblogs.com/25miao/p/7183463.html
Copyright © 2011-2022 走看看