文档章节

设计模式总结

文森特梵高
 文森特梵高
发布于 2015/08/15 16:51
字数 444
阅读 50
收藏 3

模板方法模式

特点是,从宏观上看流程固定,微观上看每个步骤又不同。

比如建别墅和建工厂还是建学校,都是先建地基,然后砌墙,最后装修。

这些步骤都在模板方法中抽象出来。然后不同的类型对每个步骤有不同的做法。

策略模式

在一个类中,持有接口,这个接口有不同行为族。

桥接模式

让接口和实现分离,达到两者能够独立变化的效果。

桥接模式和策略模式十分像。

共同:在抽象那一侧,都是持有接口,而且在抽象那一侧都是调用接口的方法来完成功能。

桥接模式含有了策略模式。

策略模式的目的是,将复杂的算法封装起来,让算法可以相互替换。

状态模式

状态模式,不同状态下的动作不同。

策略模式,不同的鸭子叫声不同,比如红头鸭、绿头鸭等等,将叫声抽象成接口,然后有一个行为族。

模板模式,有一套固定的流程,但是步骤的实现是不同的。

观察者模式

观察者模式有两个组件分别是Subject和Observer。

Subject方有注册、注销、通知三个功能,并且维护这一个观察者队列。

Observer把自己注册到Subject中,也可以注销自己。

Subject在更新数据的时候,顺便通知队列中所有Observer。

装饰模式

装饰模式的两组件,分别是主体和包装。

包装也是主体的子类,并且持有主体。



© 著作权归作者所有

共有 人打赏支持
文森特梵高
粉丝 2
博文 28
码字总数 15386
作品 0
广州
程序员
私信 提问
PHP设计模式(一):简介及创建型模式

我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式。 一、设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设...

juhenj
2014/05/15
228
2
【设计模式笔记】(十六)- 代理模式

一、简述 代理模式(Proxy Pattern),为其他对象提供一个代理,并由代理对象控制原有对象的引用;也称为委托模式。 其实代理模式无论是在日常开发还是设计模式中,基本随处可见,中介者模式中...

MrTrying
06/24
0
0
学了那么多年设计模式依然不会用!那可真蠢!

什么是设计模式? 设计模式(Design Pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决...

GitChat技术杂谈
10/26
0
0
设计模式知识梳理(1) - 结构型 - 适配器模式

一、基本概念 1.1 定义 适配器模式 将 某个类的接口 转换成 客户端期望的另一个接口 来表示,让原本因接口不能一起工作的两个类可以协同工作。 经典的适配器模式 可以分为下面三类: 类 的适...

泽毛
06/24
0
0
javascript 设计模式之工厂(Factory)模式

工厂模式介绍 工厂模式是一个创建型的模式,主要就是创建对象。其中工厂模式又分为简单工厂模式和抽象工厂模式。简单工厂模式是通过工厂方法确定创建 对应类型的对象。抽象工厂模式是通过子类...

hlxiong
2014/04/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
21
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
15
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部