商场促销示例: 1.策略类: public abstract class CashSuper { public abstract double AcceptCash(double money); }2.具体策略类(以打折类为例): public class...
分类:
其他好文 时间:
2015-05-08 12:51:24
阅读次数:
147
声明:本系列博客参考资料《大话设计模式》,作者程杰。
装饰器模式又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
UML类图:
角色:
组件对象的接口:可以给这些对象动态的添加职责
...
分类:
Web程序 时间:
2015-05-03 13:24:23
阅读次数:
169
声明:本系列博客参考资料《大话设计模式》,作者程杰。
组合模式(有时候又叫做部分-整体模式),将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。
实现类...
分类:
Web程序 时间:
2015-05-02 23:29:35
阅读次数:
191
声明:本系列博客参考资料《大话设计模式》,作者程杰。
桥接模式:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?这就要使用桥接模式——将抽象部分与它的实现部分分离,使他们可以独立地变化。
UML类图:
角色介绍:
抽...
分类:
Web程序 时间:
2015-05-02 20:46:49
阅读次数:
182
参考资料:《大话设计模式》 PS:引用了很多书中的内容,特此标注出处。 面向对象思想是软件工程领域的一种哲学世界观,相比于更为直观的面向过程化,它处理问题的角度和方法都有些不同。而设计模式就相当于在这种世界观指导下而形成的方法论。通俗来说,就是当遇到了某种特定环境下的问题,设计模式提供了一种...
分类:
其他好文 时间:
2015-04-30 17:36:48
阅读次数:
217
设计模式的第三大类型——行为模式,以下是对观察者模式、模板方法模式、命令模式、状态模式、职责链模式这五个的读后总结,欢迎交流! 观察者模式(Observer):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,全部依赖于它的对象都得到通知并被自己主动更新。[大话设计模式] 特点:类...
分类:
其他好文 时间:
2015-04-30 14:10:31
阅读次数:
107
声明:本系列博客参考资料《大话设计模式》,作者程杰。
适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的(适配器模式要解决的核心问题)。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
类图:
待适配(ForeignPlayer)角色...
分类:
Web程序 时间:
2015-04-26 15:21:04
阅读次数:
151
声明:本系列博客参考资料《大话设计模式》,作者程杰。
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化...
分类:
Web程序 时间:
2015-04-25 21:12:40
阅读次数:
209
声明:本系列博客参考资料《大话设计模式》,作者程杰。
建造者模式也称生成器模式,核心思想是将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。
例如:汽车,他的发动机引擎有好多品牌,轮胎也有各种材质,内饰更是千奇百怪;鸟,他的头、翅膀以及脚有各种颜色和形状,在创建这种复杂对象的时候,我们建...
分类:
Web程序 时间:
2015-04-25 12:14:33
阅读次数:
200
声明:本系列博客参考资料《大话设计模式》,作者程杰。
单例模式也称单态,是23种设计模式中最简单的一种,从他的名字就可以知道他的核心思想,单例模式就是系统中只有一个这样的对象,对象只有一个,在Java或者C#中,单例模式一般有两种,分别是懒汉式、饿汉式,但是在PHP中常用的就是懒汉式,由于PHP是单线程的,懒汉式也不存在双重验证。
懒汉式具体代码:...
分类:
Web程序 时间:
2015-04-21 22:40:03
阅读次数:
266