第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对 ...
分类:
编程语言 时间:
2020-01-21 12:09:20
阅读次数:
98
简介 设计模式(Design Patterns)是编码开发经验的一种体现和总结,是解决特定问题的一种巧妙的方法手段,其实就是一些套路,其实不只是Java,其他开发语言也同样试用,在编码过程中通过引入一些合适的设计模式,会极大的提高代码的可读性,可复用性和可维护性。 GoF(Gang of Four) ...
分类:
编程语言 时间:
2020-01-19 22:28:17
阅读次数:
102
1. 简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对 ...
分类:
编程语言 时间:
2020-01-11 11:25:23
阅读次数:
81
目录 1.中介者模式 2.迭代器模式 3.访问者模式 4.备忘录模式 5.解析器模式 一、中介者模式(Mediator) 定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,可以独立地改变他们之间的交互。又叫调停模式,是迪米特法则的典型应用。 核心角色: (1)抽象中介者角色(Me ...
分类:
其他好文 时间:
2020-01-07 12:55:24
阅读次数:
81
目录 1.模板方法模式 2.策略模式 3.命令模式 4.职责链模式 5.状态模式 6.观察者模式 一、模板方法模式(Template Method) 定义操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。即:处理步骤父类中定义好 ...
分类:
其他好文 时间:
2020-01-06 15:02:16
阅读次数:
96
目录 1.装饰模式 2.外观模式 3.享元模式 4.组合模式 4.1透明方式 4.2安全方式 一、装饰模式(Decorator) 可以动态的为对象添加新的功能,是一种用于代替继承的技术,无须通过继承添加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系。同时避免类型体系的快速膨胀。 核心角色: ...
分类:
其他好文 时间:
2020-01-05 14:00:21
阅读次数:
94
目录 1.代理模式 1.1静态代理 1.2动态代理 2.适配器模式 2.1类适配器模式 2.2对象适配器模式 2.3双向适配器模式 3.桥接模式 一、代理模式(Proxy) 访问者对象不适合或者不能直接引用目标对象,需要通过代理对象作为访问对象和目标对象之间的中介。并且可以设置一些前置设置、后置处理 ...
分类:
其他好文 时间:
2020-01-05 13:48:53
阅读次数:
79
//以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Aggregate.h #pragma once class Iterator; typedef int Object; class Interator; class Aggregate { public: virtu ...
分类:
其他好文 时间:
2019-12-24 11:44:56
阅读次数:
82
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Memento.h #pragma once #include<string> class Memento; class Originator{ public: typedef std::string State; Ori ...
分类:
其他好文 时间:
2019-12-23 15:03:30
阅读次数:
112
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //strategy.h #pragma once class Strategy { public: Strategy(); virtual ~Strategy(); virtual void AlgrithmInferenc ...
分类:
编程语言 时间:
2019-12-22 16:15:29
阅读次数:
92