设计模式
文章平均质量分 63
clh01s
这个作者很懒,什么都没留下…
展开
-
访问者模式(visitor)c++版本(设计模式完)
这是大话设计模式中的访问者模式的c++版本/* * visitor.cpp * * Created on: Nov 16, 2017 * Author: clh01s@163.com * 访问者模式:表示一个作用于某对象结构中的各个元素的操作。 * 它使你可以在不改变各个元素的类的前提下定义 * 作用于这原创 2017-11-16 15:24:30 · 329 阅读 · 0 评论 -
状态模式(state)c++版本
此为大话设计模式中的状态模式的c++版本 因为此代码中各个类的相互依赖比较严重,所以加入了头文件将声明放置在头文件之中 state.h/* * state.h * * Created on: Aug 10, 2017 * Author: clh01s@163.com */#ifndef _STATE_H_#define _STATE_H_#include <iostrea原创 2017-08-10 19:55:08 · 834 阅读 · 0 评论 -
备忘录模式(memento)C++版本
大话设计模式中的备忘录模式的c++版本/* * memento.cpp * * Created on: Sep 29, 2017 * Author: clh01s@163.com * 备忘录模式:在不破坏封装性的前提下, * 捕获一个对象的内部状态,并在该对象 * 之外保存这个状态。这样就可以在之后 * 将该对象恢复到保存的状态。原创 2017-09-30 11:57:35 · 325 阅读 · 0 评论 -
适配器模式(adapter)c++版本
大话设计模式中的适配器模式(adapter)c++版本/* * adapter.cpp * * Created on: Sep 28, 2017 * Author: clh01s@163.com * 适配器模式将一个类的接口转换成客户希望的另外一个接口 */#include <iostream>#include <string>using namespace原创 2017-09-28 18:33:20 · 254 阅读 · 0 评论 -
组合模式(conposite)c++版本
这是大话设计模式中的组合模式的c++版本/* * conposite.cpp * * Created on: Oct 9, 2017 * Author: clh01s@163.com * 组合模式:使得用户对单个对象 * 和组合对象的使用具有一致性。 */#include <iostream>#include <vector>#include <s原创 2017-10-12 20:26:04 · 523 阅读 · 0 评论 -
桥接模式(bridge)c++版
这是大话设计模式中桥接模式的c++版本/* * bridge.cpp * * Created on: Oct 13, 2017 * Author: clh01s@163.com * 桥接模式:将抽象部分与它的实现部分分离, * 使它们都可以独立的变化。 * 实现指的是抽象类和他的派生类用来实现自己的对象。 *原创 2017-10-14 15:25:45 · 399 阅读 · 0 评论 -
解释器模式(interpretr)C++版本
这是大话设计模式中的解释器模式的c++版本/* * interpretr.cpp * * Created on: Oct 26, 2017 * Author: clh01s@163.com * 解释器模式:给定一个语言,定义它的文法的一种表示, * 并定义一个解释器,这个解释器用该表示 * 来解释语言中的句子。 */#inc原创 2017-11-15 14:52:54 · 351 阅读 · 0 评论 -
享元模式(flyweight)c++版本
大话设计模式中的享元模式的c++版/* * flyweight.cpp * * Created on: Oct 25, 2017 * Author: clh@163.com * 享元模式:运用共享技术有效的支持大量细粒度的对象。 */#include <iostream>#include <string>#include <map>using namespac原创 2017-10-25 18:56:54 · 296 阅读 · 0 评论 -
中介者模式(mediator)c++版本
这是大话设计模式是中的中介者模式的c++版本/* * mediator.cpp * * Created on: Oct 20, 2017 * Author: clh@163.com * 中介者模式:用一个中介对象来封装一系列的对象交互。 * 中介者使各个对象不需要显式的相互引用, * 从而使其结构松散,而原创 2017-10-24 15:00:12 · 273 阅读 · 0 评论 -
职责链模式(chain of responsibility)c++版本
这是大话设计模式中的职责链模式的c++版本/* * chain_responsibility.cpp * * Created on: Oct 17, 2017 * Author: clh01s@163.com * 职责链模式:使多个对象都有机会处理请求, * 从而避免请求的发送者和接收 * 者之间的耦合关原创 2017-10-19 14:37:01 · 273 阅读 · 0 评论 -
抽象工厂(abstract_factory)c++版
大话设计模式抽象工厂abstract_factory模式的c++版本/* * abstract_factory.cpp * * Created on: Aug 5, 2017 * Author: clh01s@163.com * 抽象工厂模式 * 提供一个创建一系列相关或相互依赖对象的接口, * 而无需指定它们具体的类. * 以数据原创 2017-08-07 14:24:30 · 246 阅读 · 0 评论 -
观察者模式(OBSERVER)c++
大话设计模式中的观察者模式c++版本/* * observer.cpp * * Created on: Jul 31, 2017 * Author: clh01s@163.com * 观察者模式: * 定义对象间的一种一对多的依赖关系, * 当一个对象的状态发生改变时,所有依 * 赖于它的对象都得到通知并被自动更新 *原创 2017-08-03 19:00:18 · 435 阅读 · 0 评论 -
装饰模式(decorator)c++版本
此为大话设计模式decorator的c++版本/* * decorator.cpp * * Created on: Jul 19, 2017 * Author: clh01s@163.com * 装饰模式 */#include <iostream>#include <string>using namespace std;class Person{public:原创 2017-07-20 09:50:48 · 369 阅读 · 0 评论 -
代理模式(proxy)c++版本
这是大话设计模式中的代理模式的c++版本/* * proxy.cpp * * Created on: Jul 20, 2017 * Author: clh01s@163.com * 代理模式 */#include <iostream>#include <string>using namespace std;class Girl{public: Gi原创 2017-07-20 16:59:21 · 487 阅读 · 0 评论 -
工厂方法模式(factory method)c++版本
参考大话设计模式中的工厂方法模式/* * factory_method.cpp * * Created on: Jul 21, 2017 * Author: clh01s@163.com */#include <iostream>using namespace std;//基础操作类,加法类,减法类,乘法类,除法类的父类class Operation{public:原创 2017-07-21 14:42:56 · 322 阅读 · 0 评论 -
命令模式(command)c++版
这是大话设计模式中的命令模式的c++版本(略微完善了一下比较功能以及展示删除功能,原版只会提示鸡翅不够不能根据不同的材料提出不同的提示且没有展示删除功能)/* * command.cpp * * Created on: Oct 16, 2017 * Author: clh01s@163.com * 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参原创 2017-10-16 19:45:15 · 299 阅读 · 0 评论 -
策略模式c++版本
这是大话设计模式中的策略模式的c++版本//策略模式#include <iostream>using namespace std;enum Cash_type{ NORMALL_CASH = 0, RETURN_CASH = 1, DISCOUNT = 2,};//虚基类cashsuperclass CashSuper{public: //打折函数原创 2017-07-17 17:19:12 · 238 阅读 · 0 评论 -
外观模式(facade)c++版本
大话设计模式中的外观模式c++版本/* * facade.cpp * * Created on: Jul 25, 2017 * Author: clh01s@163.com * 外观模式 * 为子系统中的一组接口提供一个一致的界面, * 此模式定义了一个高层接口,这个接口使得这 * 一个子系统更加容易使用. */#include原创 2017-07-25 14:32:15 · 365 阅读 · 0 评论 -
原型模式(prototype)c++版本
这是大话设计模式中的原型模式的c++版本/* * prototype.cpp * * Created on: Jul 21, 2017 * Author: clh01s@163.com * 原型模式 */#include <iostream>#include <string>using namespace std;class Resume{public:原创 2017-07-24 10:58:42 · 380 阅读 · 0 评论 -
模板方法(template method)c++版本
大话设计模式中的template method c++版本/* * template_method.cpp * * Created on: Jul 24, 2017 * Author: clh01s@163.com * 模板方法 */#include <iostream>#include <string>#include <unistd.h>using nam原创 2017-07-24 18:41:12 · 301 阅读 · 0 评论 -
建造者模式(builder)c++版本
此为大话设计模式中的建造者模式的c++版本/* * builder.cpp * * Created on: Jul 25, 2017 * Author: clh01s@163.com * 生成器(建造者)模式 * 将一个复杂的对象与它的表示分离, * 使得同样的构建过程可以创建不同的 * 表示. */#include <iostr原创 2017-07-31 11:58:31 · 342 阅读 · 0 评论 -
简单工厂模式的c++版本
研究了一下大话设计模式,顺手吧简单工厂模式的c++版本写出来了,放上来分享一下/*简单工厂模式*by clh01s@163.com 2017年7月11日*/#include <iostream>#include <string>using namespace std;//基础操作类,加法类,减法类,乘法类,除法类的父类class Operation{public: doub原创 2017-07-11 18:23:25 · 342 阅读 · 0 评论