
设计模式
文章平均质量分 82
京城一十三
你在凝视深渊的时候 深渊也在凝视着你
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式复习-命令模式
#pragma once#include "stdafx.h"#include<set>#include<string>#include<iostream>using namespace std;/* 设计模式-命令模式(Command) 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支...原创 2019-07-11 17:13:43 · 145 阅读 · 0 评论 -
设计模式复习-建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。#pragma once#include "stdafx.h"#include<list>#include<string>#include<iostream>#include<windows.h>using namespace std;//设计模式-...原创 2019-06-27 16:31:33 · 134 阅读 · 0 评论 -
设计模式复习-外观模式
为了系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。#pragma once#include "stdafx.h"#include<string>#include<iostream>#include<windows.h>using namespace std;//外观模式(Facade)...原创 2019-06-27 16:29:56 · 158 阅读 · 0 评论 -
设计模式复习-策略模式
封装一系列算法,算法之间互相增加替换,不会影响到客户端,相当于是先定义一个统一接口,然后各个算法继承这个接口实现,然后,再层状一层逻辑调用,客户端只需要调用这个最后封装的类就好了,但是这样的话客户端在算法选择使用的时候需要自己实例化具体算法,所以可以考虑用工厂把这个策略类继续优化下即可。实现代码(基本策略模式+工厂优化过的)#pragma once#inclu...原创 2019-06-24 12:43:35 · 155 阅读 · 0 评论 -
设计模式复习-模板方法模式
定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的机构即可重新定义算法的某些特定步骤。#pragma once#include "stdafx.h"#include<string>#include<iostream>#include<windows.h>using namespace std;...原创 2019-06-26 11:55:07 · 142 阅读 · 0 评论 -
设计模式复习-原型模式
#pragma once#include "stdafx.h"#include<string>#include<iostream>#include<windows.h>using namespace std;#pragma warning(disable:4996)//原型模式 Prototype (Clone模式) 比较简单,就是实...原创 2019-06-26 11:52:38 · 148 阅读 · 0 评论 -
设计模式复习-代理模式
#pragma once#include "stdafx.h"#include<iostream>#include<windows.h>using namespace std;//代理模式 Proxyclass ProxuInterface {public: virtual VOID doThings1() = 0; virtual VOID d...原创 2019-06-26 11:50:37 · 164 阅读 · 0 评论 -
设计模式复习-装饰模式
1.Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,是无需知道Decorator的存在的。至于ConcreteComponent就是具体的装饰对象,起到给Com...原创 2019-06-25 12:14:54 · 128 阅读 · 0 评论 -
设计模式复习-抽象工厂模式
设计模式复习-抽象工厂模式 有两种硬件,PC和Phone,有两种系统,Windows和Linux,现在假设PC和Phone上全都能安装这两个系统,并且将来硬件不会在变化,但是系统可能需要扩展,比如扩展一个Android系统,处理这样的问题,尽量满足OCP。//FactoryMode.h#pragmaonce#include<iostream>...原创 2019-06-04 23:19:58 · 230 阅读 · 0 评论 -
设计模式复习-工厂方法模式
设计模式复习-工厂方法模式 相对于简单工厂,工厂方法是把算法类的实例化延迟到了调用者那去做,调用者根据自己的需要,自己实例化相关的工厂并且生产相关算法。这么做是因为简单工厂是不满足OCP的,因为如果想添加新的算法,就得去改工厂函数里面的那个switch,这样容易在增加新的功能时引入新问题,而工厂方法不会导致这个问题,在算法扩充的时候满足OCP,不需要改之前原有的东西,直接往上加...原创 2019-06-04 22:16:12 · 198 阅读 · 0 评论 -
设计模式复习-简单工厂模式
简单工厂模式实现整数四则运算 (1) 基本实现 (2) 健壮实现 (3) 工厂模式#pragma once#include "stdafx.h"#include <string>#include <iostream>using namespace std;//(1)基本实现...原创 2019-05-24 12:39:13 · 153 阅读 · 0 评论 -
设计模式复习-观察者模式
#pragma once#include "stdafx.h"#include<set>#include<list>#include<string>#include<iostream>#include<windows.h>using namespace std;//设计模式-观察者模式Observer//定义了一...原创 2019-07-09 13:33:44 · 193 阅读 · 0 评论 -
设计模式复习-状态模式
#pragma once#include "stdafx.h"#include <queue>#include<iostream>using namespace std;//设计模式-状态模式State/*当一个对象的内在状态改变时,允许改变其行为,这个对象看起来就是改变了类。*/class CContexct;class CState...原创 2019-07-09 13:36:11 · 134 阅读 · 0 评论 -
设计模式复习-适配器模式
#pragma once#include "stdafx.h"#include<iostream>using namespace std;/*设计模式-适配器模式 Adapter将一个类的接口转换成客户希望的;另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。1.使用一个已经存在的类,但如果它的接口,也就是它的方法和...原创 2019-07-09 13:52:15 · 194 阅读 · 0 评论 -
设计模式复习-桥接模式
#pragma once#include "stdafx.h"#include<set>#include<string>#include<iostream>using namespace std;/* 设计模式-桥接模式(Bridge) 将抽象部分与它的实现部分分离,使他们都可以独立地变化。*/class CImplem...原创 2019-07-11 17:11:57 · 144 阅读 · 0 评论 -
设计模式复习-单例模式
#pragma once#include "stdafx.h"#include<set>#include<string>#include<iostream>using namespace std;/*设计模式-单例模式(Singleton) 保证一个类仅有一个实例,并提供一个访问它的全局访问节点。[懒汉模式涉及多线程上锁问题,饿汉...原创 2019-07-11 17:09:09 · 180 阅读 · 0 评论 -
设计模式复习-访问者模式
VisitorMode.h#pragma once#include<list>#include<string>#include<iostream>using namespace std;/*设计模式-访问者模式(Visitor)表示一个作用于某对象机构中各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。*...原创 2019-07-15 17:29:39 · 174 阅读 · 0 评论 -
设计模式复习-解释器模式
#pragma once#include "stdafx.h"#include<map>#include<set>#include<list>#include<string>#include<iostream>using namespace std;/* 设计模式-解释器模式(interpreter) 给定一个...原创 2019-07-15 17:27:28 · 162 阅读 · 0 评论 -
设计模式复习-享元模式
#pragma once#include "stdafx.h"#include<map>#include<set>#include<string>#include<iostream>using namespace std;/* 设计模式-享元模式(Flyweight) 运用共享技术有效地支持大量细粒度的对象。*/cla...原创 2019-07-15 17:24:23 · 169 阅读 · 0 评论 -
设计模式复习-中介者模式
#pragma once#include "stdafx.h"#include<map>#include<set>#include<string>#include<iostream>using namespace std;/* 设计模式-中介者模式(Mediator) 用一个中介对象来封装一系列的对象交互。中介者使各个对象不...原创 2019-07-15 17:22:35 · 166 阅读 · 0 评论 -
设计模式复习-职责链模式
#pragma once#include "stdafx.h"#include<set>#include<string>#include<iostream>using namespace std;/* 设计模式-职责链模式(Chain of Responsibility) 使多个对象都有机会处理请求,从而避免请求的开发者和接受者之间的耦合...原创 2019-07-15 17:20:16 · 201 阅读 · 0 评论 -
设计模式复习-组合模式
#pragma once#include "stdafx.h"#include<set>#include<string>#include<iostream>using namespace std;/*设计模式-组合模式(Composite)[用类建一棵树] 将对象组合成树形结构以表示 部分-整体 的层次结构。组合模式使得用户对单个...原创 2019-07-10 13:51:38 · 193 阅读 · 0 评论 -
设计模式复习-迭代器模式
Iterator.H#pragma once#include <list>#include <windows.h>using namespace std;/*设计模式-迭代器模式(Iterator)提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露该对象内部表示。(现在好多语言都已经内置实现了这个功能了,所以实际用途不大,但是建议写一下,实现过...原创 2019-07-10 13:50:12 · 161 阅读 · 0 评论 -
设计模式复习-备忘录模式
#pragma once#include "stdafx.h"#include<string>#include<iostream>using namespace std;/* 设计模式-备忘录模式(Memento) 在不破坏对象封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。*/...原创 2019-07-10 13:48:34 · 131 阅读 · 0 评论 -
设计模式-桥接模式
设计模式-桥接模式原创 2016-07-19 19:06:46 · 327 阅读 · 0 评论 -
简单工厂模式、工厂方法模式、抽象工厂模式 之间的对比
简单工厂模式、工厂方法模式、抽象工厂模式 之间的对比原创 2016-06-23 20:10:45 · 10306 阅读 · 5 评论 -
设计模式-抽象工厂模式
设计模式-抽象工厂模式原创 2016-06-23 18:24:45 · 399 阅读 · 1 评论 -
设计模式-备忘录模式
设计模式-备忘录模式原创 2016-07-13 21:56:40 · 335 阅读 · 0 评论 -
设计模式-外观模式
设计模式-外观模式原创 2016-07-01 18:37:17 · 964 阅读 · 0 评论 -
设计模式-命令模式
设计模式-命令模式原创 2016-07-22 16:06:40 · 313 阅读 · 0 评论 -
设计模式-适配器模式
设计模式-适配器模式原创 2016-07-11 21:37:28 · 280 阅读 · 0 评论 -
设计模式-模板方法模式
设计模式-模板方法模式原创 2016-06-29 20:17:12 · 285 阅读 · 0 评论 -
设计模式-原型模式
设计模式-原型模式原创 2016-06-28 19:19:54 · 395 阅读 · 0 评论 -
设计模式-UML图简单介绍
设计模式-简单UML介绍原创 2016-06-27 20:30:22 · 435 阅读 · 0 评论 -
设计模式-代理模式
代理模式(Proxy): 对其他对象提供一种代理以控制对这个对象的访问。1.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。2.虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。3.安全代理,用来控制真实对象访问时的权限。4.智能指引,是指当调用真实的对象时,代理处理另外一些事。接下来实...原创 2016-06-27 18:45:10 · 316 阅读 · 0 评论 -
设计模式-装饰模式
装饰模式(Decorator): 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。1. Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于C...原创 2016-06-25 19:46:56 · 377 阅读 · 0 评论 -
设计模式-策略模式
设计模式-策略模式原创 2016-06-24 19:37:48 · 428 阅读 · 0 评论 -
设计模式-职责链模式
设计模式-职责链模式原创 2016-07-25 16:14:50 · 307 阅读 · 0 评论 -
设计模式-组合模式
设计模式-组合模式原创 2016-07-14 20:36:29 · 1048 阅读 · 0 评论 -
设计模式-建造者模式
建造者模式(Builder): 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。1.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2.建造者模式又称为生成器模式,可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。3.如果使用了建造者模式,那么用户就只需要制定需要...原创 2016-07-04 17:51:09 · 363 阅读 · 0 评论