依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。表现在具体程序中,常用的方法为设置中间层(架空层)接口,而后底层类实现中间层接口,顶层类调用中间层方法。顶层和底层之间实现隔离,降低了顶级类和底层类之间的耦合。
(类图)
对于依赖倒置原则完成了一个简单实现:底层包括keyboard和monitor(负责输入和输出),顶层为calculator。数据的交流可以使用数据库,或者全局变量简单实现。
中间层(架空层)
class device
{
public:
virtual void work() = 0;