
大话设计模式读书笔记
wingWC
Qt/OpenCV/AI
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《大话设计模式》读书笔记之C++实现--chapter3单一职责原则
单一职责的原则准确解释为:“就一个类来说,应该仅有一个引起它变化的原因”。如果一个类承担的职责过多,就相当于把这些职责耦合在一起,一个职责的变化可能会抑制或削弱这个类完成其他职责的能力。当变化发生时,设计会受到意想不到的破坏。举一个例子来说,俄罗斯方块的游戏逻辑和界面应该分开,当移植到不同平台上时,游戏逻辑代码本身不会发生改动,仅需要对界面部分作出修改。如果你能想到多余一个的动机去改变类,那么原创 2017-03-30 12:56:37 · 550 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter23命令模式
#include <iostream>#include <algorithm>#include <list>#include <vector>#include <QCoreApplication>using namespace std;//抽象接受命令类,执行命令class AbstractReceiver{public: virtual void ExcuteCommand(原创 2017-10-17 11:32:37 · 357 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter22桥接模式
17-10-13 1、练习mysql2、练习git3、学习二分法以及程序的边界问题(左闭右开)4、学习变量命名方法,程序的异常处理及调试,表驱动方法 17-10-14 1、深入练习了mysql,了解多重查询的嵌套,温故了Qt访问数据库以及QsqlQuery操作结果集,温故SQLite的亲和数据类型2、读代码大全、编程珠玑,了解变量名的命名规则,防御式编程以及如何编写健壮的子程序。还需要看类的实现细节原创 2017-10-16 20:57:19 · 382 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter27解释器模式
关于解释器模式看到了一篇讲解的十分好的博客行为型模式—解释器模式 ,自己写了一遍实现,首先要看懂UML类图,理解终结符解释器和非终结符解释器的作用,然后要掌握抽象语法树的构建,理解了这几点之后就很容易利用解释器模式构造自己的解释器#include <iostream>#include <string>#include <map>#include <stack>using namespace原创 2017-10-19 19:35:03 · 375 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter26享元模式
#include <iostream>#include <list>#include <string>#include <map>#include <QDebug>using namespace std;class FlyWeight{public: virtual void Operation() = 0; virtual ~FlyWeight(){}};class原创 2017-10-18 11:16:02 · 412 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter15抽象工厂模式
#include <iostream>using namespace std;//抽象产品类class AbstractProduct{public: virtual void ProductFunction() = 0; //子类可以重写该函数来实现不同子类的特有功能 virtual ~AbstractProduct(){}};//具体产品类,有实现自己功能的成员函原创 2017-10-17 21:42:16 · 399 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter8工厂方法模式
1、工厂方法模式的UML类图:2、工厂模式详解:--Product:定义工厂方法所创建的对象的接口,即对应的具体产品索要实现的功能的接口,在本文例子中对应的是四则运算算法的功能--ConcreteProduct:具体产品实现Product的接口--Creator:声明工厂方法,定义返回一个Product类型的指针的接口--ConcreteCreator:实现工厂方法中定义的原创 2017-04-02 10:00:48 · 526 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter6装饰模式
装饰模式的结构主要有三个元素:--抽象组件:人--具体组件:具体的人--装饰组件:T恤,垮裤,破球鞋装饰模式的三个主要特点为:--具体组件和装饰组件都继承于抽象组件--装饰组件有抽象组件的指针或引用--使用装饰组件和具体组件可以创造出新的类用形象话的语言理解装饰模式就是把抽象组件看成一个人类,具体组件可以是小明,现在我想为小明穿上衬衣,西服,皮鞋,领带...可扩原创 2017-03-30 20:42:29 · 384 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter7代理模式
代理模式2、UML类图详解--Subject类:定义了RealSubject和Proxy的代理接口(也就是请求request函数的接口)--RealSubject类:定义了代理索要代理的真实实体,实际的请求(即request函数)在该类中实现--Proxy类:在private下保存一个RealSubject的指针或引用,并提供一个request函数,其实际功能是代理实现真实实体的request函数。3、使用场合--远程代理:为一个对象在不同的地址空间提供局部代表,可以隐藏一个对象存在于不同地址原创 2017-04-01 14:23:49 · 633 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter2策略模式(商场收费系统)
本文通过一个简单的商场收费系统来理解面向对象的特性(可维护型,可扩展性,可复用性及高灵活性),将父类cashSuper的实收现金的函数定义为虚函数以便其子类cashNormal、cashRebate、cashReduce能实现自身不同的实收现金函数(多态的体现),通过与cashSuper相依赖的cashFactory类的构造函数选择不同的模式使其内部的私有成员指针指向不同的子类然后调用自身的cashAccept函数得到不同子类实现现金算法的结果(封装性)。“策略模式的strategy类层次为context原创 2017-03-30 09:23:01 · 1018 阅读 · 0 评论 -
23种设计模式UML表示形式《转》
一、概况:类关系表示:说明:二.创建型1.Factory Method意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。适转载 2017-04-01 09:13:55 · 619 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter1运算工厂类(简单计算器)
本文是大话设计模式的读书笔记,帮助读者从面向过程的编程思想到面向对象的思想的转变,实现从理解C++基本的语法到深入理解面向对象的三大特性--封装、继承和多态,以一个简单的四则运算计算器开始面向对象的旅程。原创 2017-03-29 21:37:35 · 802 阅读 · 0 评论 -
《大话设计模式》读书笔记之C++实现--chapter24命令模式
#include <iostream>#include <QDebug>using namespace std;class ConcreteHandleSecond;class ConcreteHandleThird;//利用枚举类确定请求的等级enum Request{ Normal, Important, Urgent, UrgentAndImport};原创 2017-10-17 16:05:10 · 346 阅读 · 0 评论