模板方法模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对模板方法模式是这样说的:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的接口即可重定义改算法的某些特定步骤。 我结合我在实际开发项目中的一个例子来说说这个模板方法模式吧。 ...
分类:
编程语言 时间:
2018-09-05 19:48:18
阅读次数:
163
设计模式之策略模式 1.意图 根据GOF的定义:定义一系列的算法或操作,并把它们一个个封装起来,并且使它们可以互换替换。以达到算法与业务独立开发的目的。 简单的说就是针对某个业务需求,抽象出解决问题的算法的一个个方法,然后实现封装不同的特定的算法(通过集成抽象类或接口),在客户端需要使用这个算法的时 ...
分类:
其他好文 时间:
2018-08-26 22:03:57
阅读次数:
141
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计 ...
分类:
其他好文 时间:
2018-08-26 20:47:59
阅读次数:
263
设计模式之模板方法 1.意图 根据GOF中的定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中实现。模板方法使得子类可以不改变一个算法的结构就可重定义算法的某些特定步骤。 很明显, 模板方法 就是抽象出某个问题的解决算法,封装算法框架,开放一些特定步骤让子类继承抽象类后重新定义,从而实现改变 ...
分类:
其他好文 时间:
2018-08-26 13:46:50
阅读次数:
141
设计模式——个人浅谈 1.什么是设计模式 开篇先借用名人 Christopher Alexander 说过的一句话“每一个模式描述了一个在我们周围不断重复出现发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。 这是 GOF 里对设计模式的一个形容。显而易见 ...
分类:
其他好文 时间:
2018-08-26 13:07:46
阅读次数:
130
策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。Command命令模式是一种对象行为型模式,它主要解决的问题是:在 ...
分类:
其他好文 时间:
2018-08-15 11:17:11
阅读次数:
215
定义 单例模式(Singleton Pattern)的定义如下:Ensure a class only has one instance, and provide a global point of access to it(确保某一个类只有一个实例,并且提供一个全局访问点来访问此实例)。在JVM应 ...
分类:
其他好文 时间:
2018-07-29 10:48:51
阅读次数:
175
了解设计模式的朋友们,想必都听说过“六大设计原则”吧。其实最经典的 23 种设计模式中或多或少地都在使用这些设计原则,也就是说,设计模式是站在设计原则的基础之上的。所以在学习设计模式之前,很有必要对这些设计原则先做一下了解。 GoF(四人帮),传说中的四位大神们,他们联手搞出了一套设计模式,堪称 O ...
分类:
其他好文 时间:
2018-07-11 19:45:24
阅读次数:
205
转自 "Android中的设计模式 备忘录模式" 定义 备忘录设计模式的定义就是把对象的状态记录和管理委托给外界处理,用以维持自己的封闭性。 比较官方的定义 备忘录模式(Memento Pattern)又叫做快照模式(Snapshot Pattern)或Token模式,是GoF的23种设计模式之一, ...
分类:
移动开发 时间:
2018-06-25 11:11:41
阅读次数:
192
设计模式:迭代器模式 一、前言 设计模式有很多,最典型的是GoF的23种设计模式,听起来很多,其实大部分我们都是见过的,按照常见度来分,最常用的差不多是六七个吧,因此,我们在学习的时候应该有轻重缓急之分,不能一视同仁,而应该抓住重点,将一些最常用的设计模式吃透了,那么我们在遇到一个实际问题的时候就能 ...
分类:
其他好文 时间:
2018-06-23 21:03:57
阅读次数:
168