【设计模式】
空空的司马
微信搜『程序员加油站』,回复『pdfs』获取优质电子书
展开
-
依赖倒转原则
【概念】抽象不应该依赖于细节,细节应该依赖于抽象。A. 高层模块不应该依赖低层模块。两个都应该依赖抽象。B. 抽象不应该依赖于细节,细节应该依赖于抽象。【解释】(百度百科解释)就是要依赖于抽象,不要依赖于具体。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。面向过程的程序设计过程中,上层调用下层,上层依赖于下层,当原创 2015-07-11 11:30:45 · 1508 阅读 · 0 评论 -
设计模式学习(开篇)
个人理解:设计模式就是用来将项目源码进行合理的组织,方便项目的扩展,维护。设计模式应该是一个长期的反思和总结的过程。工程经验越丰富可能对设计模式的理解就会变得越深刻。设计模式一共有23种,下图是我在学习设计模式时候列举的一个思维导图。为了方便日后查阅和反复的思考,遂以笔记的方式将学习设计模式的过程总结一下。原创 2016-07-05 15:30:37 · 743 阅读 · 0 评论 -
设计模式学习(单例模式)
单例模式:一个类只有一个实例对象存在。 单例模式一般有两种实现方式,一种称为懒汉式,另一种称为饿汉式。1. 懒汉式单例模式懒汉式单例模式的思想很简单,在或者单例对象的时候总是去判断对象是否已经生成,如果对象已经生成,那么就直接返回对象的指针。#include <iostream>using namespace std;//懒汉式 单例模式class Singleton{private:原创 2016-07-05 16:52:10 · 567 阅读 · 0 评论 -
设计模式学习(工厂模式)
这里说的工厂模式是简单工厂模式和抽象工厂模式,两者有一定的区别,也有共同之处。简单工程模式:通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。抽象工厂模式:在简单工厂模式的基础上对用于创建其他类的类进行抽象,这样使得系统在不修改具体工厂角色的情况下进行扩充。上述过程是开闭原则的一个典型体现。1. 简单工厂模式在下图的例子中,Factory类依赖具体对象的抽象来创建具体原创 2016-07-06 16:47:38 · 615 阅读 · 0 评论 -
设计模式学习(建造者模式)
* 1. 建造者模式 *建造者用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。建造者模式适用于: 一个对象的构建比较复杂,将一个对象的构建和对象的表示进行分离。 实际应用中,建造者模式出现的不多(还没见过)。2. 案例以一个建造房子的案例为例: 上述类图中,对象的创建是通过Director类来控制一个FlatBuil原创 2016-07-06 17:15:16 · 655 阅读 · 0 评论 -
设计模式学习(原型模式)
原型模式是一种对象创建型模式, 它采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。 原型模式适用于一个复杂对象,具有自我复制功能,统一一套接口。 #include <iostream>#include <string>using namespace std;class Person{public: virtual Person* Clon原创 2016-07-07 14:32:52 · 510 阅读 · 0 评论 -
设计模式学习(代理模式)
代理模式是为其他对象提供一种代理以控制对这个对象的访问。 #include <iostream>using namespace std;class Interface{public: virtual void Request() = 0;};class RealClass : public Interface{public: void Request() {原创 2016-07-07 14:46:53 · 861 阅读 · 0 评论 -
UML标准建模语言
UML:Unified Modeling Language,统一建模语言(标准建模语言)。内容预览: 1. UML用例图UML用例图是用来描述使用者,用例之间关系的一种UML图。一般使用在项目初期,用于描述客户的需求,分析客户所描述的功能。 下图中任务形状的图像元素表示的是使用者,椭圆形表示的是用例,他们之间的连线则表示了他们的关系。图中描述注册用户和签约用户与4大用例之间的关系。原创 2016-07-05 16:21:52 · 1405 阅读 · 0 评论