设计模式
冯巩2.0
这个作者很懒,什么都没留下…
展开
-
抽象工厂模式
对应上面的的抽象工厂模式的结构图 我们对下面的对象进行抽象 假设这里有两种车,奔驰 宝马 有两个国家的品牌,中国,美国 中国生产的叫 中国奔驰,中国宝马 美国生产的叫 美国奔驰,美国宝马 下面是代码的实现 #include <iostream> #include <string> using namespace std; //对工厂进行抽象 class BMW { ...原创 2019-04-27 01:46:27 · 967 阅读 · 0 评论 -
命令模式
命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作 Invoker 命令的发起者是一个独立的类,Receiver 命令的执行者,也是一个独立的类,通过命令模式将Invoker 于 Receiver 松耦合。 命令模式的优点: 比较容易地设计一个命令队列 在需要的情况下,可以比较容易地将命令计入日志 允许接收请求的一方决定是...原创 2019-04-27 01:46:59 · 1571 阅读 · 0 评论 -
简单工厂模式
文章目录简单工厂模式 简单工厂模式原创 2019-04-27 01:48:41 · 1447 阅读 · 0 评论 -
观察者模式
观察者模式的特点: 将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象之间的一致性,我们不希望为了维护一致性而使各类紧密耦合,这样会给维护、扩展和重用带来不变。 而观察者的关键对象是主题Subject 和观察者 Observer ,一个Subject 可以有任意数量的依赖它的 Observer , 一旦Subject的状态发生了改变,所有的Observer 都可以收到...原创 2019-04-27 01:49:01 · 1006 阅读 · 0 评论 -
适配器模式
文章目录什么时候使用适配器? 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,Adapter模式使原来由于接口不兼容而不能一起工作的那些类可以一起工作。 什么时候使用适配器? 在想要使用一个已存在的类,但是如果它的接口,也就是它的方法和你的要求不相同的时候,就应该考虑使用适配器模式,两个类所做的事件相同或相似,但是具有不同的接口时要使用它 适配器模式在实现上就是利用一个...原创 2019-04-27 01:49:23 · 1011 阅读 · 0 评论 -
策略模式
文章目录 策略模式 策略模式是一种定义一系列算法的方法,从概念上看,这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少各种算法类与使用算法类之间的耦合。 策略模式的Strategy 层为context 定义了一系列可重用的算法或行为,继承有助于析取出这些算法中的公共功能。 策略模式简化了单元测试,因为每一个算法都有自己的类,可以通过自己的接口单独测试 当不同的行...原创 2019-04-27 01:48:08 · 1425 阅读 · 0 评论 -
装饰器模式
装饰模式是唯一有的功能动态地添加更多功能地一种方式,当系统需要新功能地时候,思想旧的类中添加新的代码。这些新的代码通常修饰了原有类的核心指责或主要行为 #include <iostream> #include <string> using namespace std; class Person { public: Person(){} Person(strin...原创 2019-04-27 01:47:55 · 1470 阅读 · 0 评论 -
工厂方法模式
工厂方法模式 如果添加新的运算方式,只需要添加一个具体产品类和一个具体工厂类就可以了 不需要修改逻辑代码 #include <iostream> using namespace std; //工厂方法类 //抽象产品类 template<typename T> class Base { public: virtual T operation(T a,T b) ...原创 2019-04-27 01:47:21 · 933 阅读 · 0 评论 -
代理模式
#include <iostream> #include <string> using namespace std; /* A 要访问一个国外的网站,但是自己的ip 不允许访问这个网站 但是A 可以访问 B B 可以访问这个网站。 这时候,A 可以请求B 去代替自己去访问国外的网站,然后将下载一些自己需要的资源 */ class Inter { public...原创 2019-04-27 01:51:04 · 1474 阅读 · 0 评论 -
桥接模式
桥接模式:将抽象的部分于他的实现部分分离,使他们都可以独立地变化 什么叫抽象与他的实现分离,这并不是说让抽象类与派生类分离,因为这没有任何意义,实现指的是抽象类和他的派生类用来实现自己的对象。 实现系统可能有多角度分类,每一种分类都有可能变化,那么结巴多角度分离出来让他们独立变化,减少他们之间的耦合。 桥接模式的优点: 分离抽象接口及其实现部分。提高了比继承更好的解决方案。 桥接模式提高...原创 2019-04-27 01:46:45 · 1577 阅读 · 0 评论