[设计模式]依赖倒转原则
代码如下:
#include <iostream>
#include <string>using namespace std;//银行工作人员
class BankWorker
{public:void saveService(){cout << "办理存款业务" << endl;}void payService(){cout << "办理支付业务" << endl;}void transferService(){cout << "办理转账业务" << endl;}
};//中层模块
void doSaveBussiness(BankWorker *worker)
{worker->saveService();
}void doPayBussiness(BankWorker *worker)
{worker->payService();
}void doTransferBussiness(BankWorker *worker)
{worker->transferService();
}void test01()
{BankWorker *worker = new BankWorker;doSaveBussiness(worker);doPayBussiness(worker);doTransferBussiness(worker);
}int main()
{test01();return 0;
}
依赖倒转原则
代码如下:
#include <iostream>
#include <string>using namespace std;class AbstractWorker
{public:virtual void doBusiness() = 0;
};class SaveBankWorker :public AbstractWorker
{public:virtual void doBusiness(){cout << "办理存款业务" << endl;}
};class PayBankWorker :public AbstractWorker
{public:virtual void doBusiness(){cout << "办理支付业务" << endl;}
};class TransferBankWorker :public AbstractWorker
{public:virtual void doBusiness(){cout << "办理转账业务" << endl;}
};//中层模块
void doNewBusiness(AbstractWorker *worker)
{worker->doBusiness();delete worker;
}void test01()
{doNewBusiness(new TransferBankWorker);doNewBusiness(new PayBankWorker);doNewBusiness(new SaveBankWorker);
}int main()
{test01();return 0;
}
测试结果:
[设计模式]依赖倒转原则相关推荐
- Java设计模式——依赖倒转原则
一.什么是依赖倒转原则? 依赖倒转原则讲的是,要依赖于抽象,不要依赖于具体. 实现"开-闭"原则的关键是抽象化,并且从抽象化导出具体化实现."开-闭"原则是面向 ...
- Java设计模式 - 依赖倒转原则
文章目录 1. 违反依赖倒转原则 2. 遵守依赖倒转原则 3. 依赖关系传递的3种方式 3.1 接口传递 3.2 构造方法传递 3.3 setter方法传递 4. 依赖倒转原则的注意事项和细节 Dep ...
- 设计模式--依赖倒转原则
依赖倒转原则:依赖于抽象类(接口类),不依赖于具体实现类 即:高层业务逻辑依赖抽象类,具体实现类 依赖于抽象业务逻辑 高层逻辑为:软件设计具体需求(eg:制造一台电脑) 抽象层为:很多抽象类(eg:电 ...
- 23种设计模式-依赖倒转原则
概念: 依赖倒转原则(Dependence Inversion Principle)是指: 1) 高层模块不应该依赖低层模块,二者都应该依赖其抽象 2) 抽象不应该依赖细节,细节应该依赖抽象 3) 依 ...
- Java设计模式——依赖倒转原则(实例)
1.基本介绍 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西 ...
- 设计模式依赖倒转原则
- 依赖倒转原则_Java设计模式的七大原则
Java设计模式的七大原则 里氏代换原则 里氏代换原则是对"开-闭"原则的补充.实现"开-闭"原则的关键步骤就是抽象化.而基类与子类的继承关系就是抽象化的具体实 ...
- Java设计模式之设计的6大原则(开闭原则,里氏代换原则,依赖倒转原则,接口隔离原则,最少知道原则,合成复用原则)
1. 开闭原则 核心思想:一个对象对外扩展开发,对修改关闭 意思就是:对类的改动是通过增加代码进行的,而不是修改现有的代码. 也就是说软件开发人员一旦写出了可以运行的代码,就不应该去改动它,而是要保证 ...
- 【设计模式】依赖倒转原则
依赖倒转原则 依赖倒转原则是指的特点有∶ 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转(倒置)的 中心思想 是面向接口编程 依赖倒转原则是基于这样的 ...
最新文章
- muduo 与 boost asio 吞吐量对比
- 如何管理大型呼叫中心
- Linux python impala/sasl/thrift-sasl command not found
- 《Java程序员,上班那点事儿》书名的由来
- 鸡啄米vc++2010系列11(非模态对话框的创建)
- 干货推荐 | 如何设计按钮?
- C++的类和C里面的struct有什么区别
- 实现call和apply
- dedecms 找后台总结_总结找到后台路径的N总思路方法
- git tag 的基本用法
- Spark 整合ElasticSearch
- Theano学习笔记:Theano的艰辛安装体验
- php emoji base64,PHP处理字符中的emoji表情
- 平面设计(板式设计与构图篇)
- 3D全息投影 大家可以自己动手制作
- mapgis java二次开发_mapgis7.0二次开发小试牛刀
- CMOS与TTL电路的区别
- 《电商后台系统产品逻辑解析》学习笔记
- 令人拍案叫绝的 Wasserstein GAN,彻底解决GAN训练不稳定问题
- 超声波测距HY-SRF05模块的学习总结
热门文章
- linux之通过tail命令动态跟踪日志文件里面的末尾信息
- linux之写C代码出现warning: format not a string literal and no format arguments [-Wformat-security]
- 数据结构-Hash总结(二)
- C语言atoi()函数:将字符串转换成int(整数)和sprintf和memset
- 六、WebApp 二手信息站点页面制作(IVX 快速开发教程)
- 几何学中关于相交圆的这个定理,你还记得吗?
- 年轻人不讲武德有多可怕?
- 暴击!被初中生碾压智商!这份被国家数学集训队采用的初中奥数资料究竟有多厉害?...
- 每日一笑 | 一些关于学编程的领悟
- 967c语言程序设计是什么,2018年湖南师范大学数学与计算机科学院967C语言程序设计和数据结构[专硕]之C程序设计考研核心题库...