C++(二十五)依赖倒置
依赖倒置原则(Dependency Inversion Principle,简称DIP)是面向对象设计中的一个重要原则,
它由Robert C. Martin(也称为Uncle Bob)提出。
DIP的核心思想是高层模块不应该依赖于低层模块,
二者都应该依赖于抽象;
抽象不应该依赖于细节,细节应该依赖于抽象。
在C++中,依赖倒置原则可以通过以下几个方面来实现:
抽象接口:定义抽象接口(通常是纯虚类),高层模块和低层模块都依赖于这个抽象接口。
依赖注入:通过构造函数、方法参数或设置器方法将依赖关系注入到类中,而不是在类内部直接创建依赖对象。
控制反转:通过使用框架或容器来管理对象的创建和依赖关系,实现控制反转。
案例
#include <iostream>
using namespace std;
// 定义一个接口类 IReader,所有阅读器类都需要实现这个接口
class IReader
{
public:
// 纯虚函数,表