paip.使用繼承機制來實現控制反轉或依賴倒置

paip.使用繼承機制來實現控制反轉或依賴倒置 ide


平時實現IOC時常使用INTERFACE來實現...總以爲寫的代碼複雜,又多...通過個人研究,能夠使用繼承機制來IOC..相比INTERFACE方式,代碼更加的簡裝,更容易理解..繼承

業務場景A:
 用戶註冊user.reg() ,其中要實現增長賬戶操做  Account.iniacc();ip

-----------類user---------------
  public Account acc = new Account();
  public void reg()
        {string

addUser();it

   acc.iniacc(uname);class

 }方法

-------------類Account ---------------
 virtual public void iniacc(string uname)
        { }總結


界面調用 :
    user  uc = new user();       
        uc.reg();注入

 

 

業務場景B,須要複用 reg(),可是不須要帳戶操做;此時,能夠新建一個類acc2,重寫iniacc(),使其爲空,不對帳戶操做..di

-----------acc2---------------


public class acc2 : Account
    {

     override   public void iniacc(string uname)
        {
            

        }
    }


此時,界面調用能夠注入acc2 ,這樣在reg()中調用iniacc()就是acc2.iniacc()了.呵呵.:


    user  uc = new user(); 
   uc.acc = new acc2();   
        uc.reg();

 


**********個人總結,相比interface方式,優勢有下:

1. 代碼量少,簡潔2. 能夠有默認實現,只有必須重寫的狀況下再重寫....若是用interface方式,則沒有了默認實現..3.僅對須要的方法進行重寫,而interface方式,則要求強制實現上級類的全部方法...4.更加的靈活..易於理解

相關文章
相關標籤/搜索