设计模式
码农小张
这个作者很懒,什么都没留下…
展开
-
浅谈设计模式之三——Prototype模式
prototype模式即原型模式,同样先上uml图: uml解析:原型模式讲的是什么呢?原型模式讲的其实就是浅拷贝跟深拷贝的问题。什么是浅拷贝什么是深拷贝呢,相信学过c++的都懂。凡涉及到一个类中的成员变量有指针的,一定会设计到深浅拷贝问题。浅拷贝只是简单的复制指针的值,而没有复制指针的内容,这样在使用以及析构的时候往往会出现问题。一般是要实现拷贝构造函数,重载“=”操作符以及析构等。 下面原创 2015-04-22 16:09:03 · 601 阅读 · 0 评论 -
浅谈设计模式之四——Singleton模式
单例模式,即只有一个实例。 先上uml图: uml解析:基本思路是,构造函数为protected或者private,类不能被实例化,否则就可以有多个实例。static的特性使得类不需要被实例化就能被调用(因为它和全局变量一样是放在数据段) 下面给出可以执行的代码: singleton.h#pragma once#include <iostream>using namespace st原创 2015-04-22 23:06:35 · 413 阅读 · 0 评论 -
浅谈设计模式之八——Decorator模式
先上uml图: 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 uml解析:装饰者模式又名包装器,顾名思义就是给某个对象添加一些功能,而不是给整个类添加一些功能。Component跟Decorator是聚合关系,子类ConcreteDecoratorA和ConcreteDecoratorB实现具体对Component的修饰。 下面给出原创 2015-04-29 10:12:42 · 765 阅读 · 0 评论 -
浅谈设计模式之二——Builder模式
同样地先上uml图 解析uml:其实这里应该是聚合而不是组合。Director和Builder是聚合关系,1对多,通过参数传到Construct()之后,根据具体的Builder一步一步构造,之后可以通过GetProduct返回一个产品。Builder是父类,下面有好些具体子类。 下面给出可执行的代码: Builder.h#pragma once#include <iostream>u原创 2015-04-19 23:56:47 · 473 阅读 · 0 评论 -
浅谈设计模式之一——简单工厂、工厂、抽象工厂
这些天意识自身的不足,看着几个同学跳槽后的高薪,实在是惭愧。毕业两年,仍一事无成,差距也正逐渐体现出来。人们常说,设计模式是一个初级程序员到高级程序员的必经之路。为了补强自己,重新研究了GOF四人帮的<23种设计模式>,其实以前看过,只是没看懂,最近重新研究了一番,理解了一些,希望用通俗易懂的语言把它写下来,或许对初学者有帮助,对自己也有提升。 设计模式分为创建型模式、行为型模式和结构型模式。创建原创 2015-04-13 14:00:07 · 633 阅读 · 0 评论 -
浅谈设计模式之六——Bridge模式
先上uml图: uml解析:桥接模式讲的就是一个解耦的问题,将抽象与实现分离开来,对接口编程,使得RefinedAbstraction对实现依赖,而不是实现依赖于RefinedAbstraction,符合依赖倒置原则。 下面给出可执行代码: Bridge.h#pragma once#include <iostream>using namespace std;class Abtracti原创 2015-04-28 14:20:50 · 535 阅读 · 0 评论 -
浅谈设计模式之五——Adapter模式
这一节开始谈谈结构型模式。结构型模式包括:**适配器、桥接、组成、装饰、外观、享元、代理模式**7种设计模式。这一节说一下适配器模式,适配器模式可以分为类适配器和对象适配器,类适配器其实就是多继承,一般用对象适配器,因此这里只讲对象适配器。 先上uml: uml解析:客户需要的是Target中的Request接口,但是现有的Adeptee的接口是SpecificRequest(),而Adap原创 2015-04-28 12:34:46 · 583 阅读 · 0 评论 -
浅谈设计模式之七——Composite模式
同样地,先上uml图: 组合模式的意图:将对象组合合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 uml解析:leaf是叶节点,Composite可以理解为是一个多个叶节点的组合,它是非叶节点,就相当于一个元件以及一个元件容器,里面有很多元件一样。这里可以用list或者vector实现。 本来是想用模板来实现,后来发现实在是多此原创 2015-04-28 18:40:04 · 823 阅读 · 0 评论