C# 依赖注入
一、依赖注入定义:
只依赖于服务类的一个接口,而不依赖于具体服务类。
二,依赖注入的类别
1.构造注入
2.Setter注入
示例:
using System; using System.Collections.Generic; using System.Linq; namespace SetterInjection { class Program { static void Main(string[] args) { Dependency service = new Dependency(new ServiceA()); service.Start(); service = new Dependency(new ServiceB()); service.Start(); } } interface IService { void ServiceMethod(); } class ServiceA : IService { public void ServiceMethod() { Console.WriteLine("Method is service A"); } } class ServiceB : IService { public void ServiceMethod() { Console.Write("Method is service B"); } } class Dependency { IService service = null; public Dependency() { } //构造注入 public Dependency(IService _service) { this.service = _service; } //Setter注入 public void Setter(IService _service) { this.service = _service; } public void Start() { this.service.ServiceMethod(); } } }