利用介面

在需要服務的具體類中,使用介面來訪問服務而不是其實現,如:

 public class BenefitAppService
{
    private readonly IBenefitService _service;
    public BenefitAppService(IBenefitService service)
    {
        _service = service;
    }      
   
    public void Update(Benefit benefit)
    {
        if (benefit == null) return           
        _service.Update(benefit);
        _service.Complete();
    }        
}

現在,如果你需要具體類中的某些內容,則不會干擾上面的程式碼。你可以更改服務實現以獲得另一個完全不同的區域,只要它滿足你的介面就可以了。它也使它很容易測試。