কাপল্ড অবজেক্টগুলাকে ডিকাপল্ড অবজেক্টে রূপান্তর করার প্রক্রিয়াকে ডিপেন্ডেন্সি ইনজেকশন বলা হয়।
ডিপেন্ডেন্সি ইনজেকশনের প্রকার
- কন্সট্রাক্টর ইনজেকশন
- সেটার ইনজেকশন
- ইন্টারফেস-ভিত্তিক ইনজেকশন
- সার্ভিস লোকেটর ইনজেকশন
সেটার ইনজেকশন
গেটার এবং সেটার ইনজেকশন ডিফল্ট পাবলিক প্রপার্টি প্রসেস (getter/setter) ব্যবহার করে ডিপেন্ডেন্সি ইনজেক্ট করে।
উদাহরণ
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";
}
}
public class BusinessLogicImplementation
{
private IService _client;
public IService Client
{
get { return _client; }
set { _client = value; }
}
public void SetterInj()
{
Console.WriteLine("Getter and Setter Injection ==> Current Service : {0}", Client.ServiceMethod());
}
}
ব্যবহার (Consuming)
BusinessLogicImplementation ConInjBusinessLogic = new BusinessLogicImplementation();
ConInjBusinessLogic.Client = new ClaimService();
ConInjBusinessLogic.SetterInj();
ব্যাখ্যা: এখানে Client প্রপার্টির মাধ্যমে রানটাইমে ডিপেন্ডেন্সি (ClaimService) ইনজেক্ট করা হয়েছে। এটি কন্সট্রাক্টর ইনজেকশন থেকে ভিন্ন কারণ ডিপেন্ডেন্সি অবজেক্ট তৈরি হওয়ার পর সেট করা হয়।