paip.使用继承机制来实现控制反转或依赖倒置

本文探讨了一种使用继承机制实现控制反转(IOC)的方法,并对比了传统的接口方式。通过具体的业务场景展示了该方法如何简化代码并提高灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值