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