【设计模式】 依赖注入 和 依赖反转

本文探讨了在软件设计中遇到的耦合问题,通过一个实例介绍了依赖注入和依赖反转的概念。依赖注入是将依赖的类作为参数传递给需要它的类,而依赖反转则是通过接口实现类间的低耦合。文章提到了两种实现方式,并指出两者在实际应用中相辅相成,对于提高系统稳定性和可维护性至关重要。

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

背景:

如果一个类(或者函数)需要依赖于另外一个类来实现某个功能时, 最直接也最原始的做法是, 在这个类中添加一个所依赖类的成员变量, 通过调用所依赖类的成员函数来实现那个功能。(或者 在实现功能的函数中 创建一个被依赖类的临时对象 如下面代码)。

class Car
{
   
	public:
		void run() {
    cout<<"car is running"<<endl; };
};

class Deliveryman 
{
   
public: 
	void deliver()
	{
   
		Car car;
		car.run();
	};
};

如代码所示,Deliveryman类 依赖于 Car类 来实现deliver功能。


问题:

耦合度高, 当这种依赖关系发生变化或者依赖选择增多时(如Deliveryman 不仅可以开车送包裹也可以骑电动车), 需要不停的修改Deliveryman 的代码, 导致系统稳定性降低。


class Ebike
{
   
	public:
		void run() {
    cout<<"Ebike is running"<<endl; };
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值