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

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


平時實現IOC時常使用INTERFACE來實現...總覺得寫的代碼複雜,又多...經過我的研究,可以使用繼承機制來IOC..相比INTERFACE方式,代碼更加的簡裝,更容易理解..

業務場景A:
 用戶註冊user.reg() ,其中要實現增加帳戶操作  Account.iniacc();

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

addUser();

   acc.iniacc(uname);

 }

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


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

 

 

業務場景B,需要複用 reg(),但是不需要賬戶操作;此時,可以新建一個類acc2,重寫iniacc(),使其爲空,不對賬戶操作..

-----------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.更加的靈活..易於理解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章