Quá trình đưa (chuyển đổi) các đối tượng được ghép nối (phụ thuộc) vào các đối tượng được tách rời (độc lập) được gọi là Dependency Injection.
Các loại tiêm phụ thuộc
Có bốn loại DI -
-
Chèn cấu tạo
-
Tiêm định vị
-
Chèn dựa trên giao diện
-
Chèn định vị dịch vụ
Chèn giao diện
Interface Injection tương tự như Getter và Setter DI, Getter và Setter DI sử dụng getter và setter mặc định nhưng Interface Injection sử dụng giao diện hỗ trợ một loại getter và setter rõ ràng để đặt thuộc tính giao diện.
Ví dụ
public interface IService{ string ServiceMethod(); } public class ClaimService:IService{ public string ServiceMethod(){ return "ClaimService is running"; } } public class AdjudicationService:IService{ public string ServiceMethod(){ return "AdjudicationService is running"; } } interface ISetService{ void setServiceRunService(IService client); } public class BusinessLogicImplementationInterfaceDI : ISetService{ IService _client1; public void setServiceRunService(IService client){ _client1 = client; Console.WriteLine("Interface Injection ==> Current Service : {0}", _client1.ServiceMethod()); } }
Tiêu thụ
BusinessLogicImplementationInterfaceDI objInterfaceDI = new BusinessLogicImplementationInterfaceDI(); objInterfaceDI= new ClaimService(); objInterfaceDI.setServiceRunService(serviceObj);