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

posted @ 2012-07-04 22:35  attilaxAti  阅读(18)  评论(0编辑  收藏  举报