PHP设计模式笔记:使用PHP实现命令模式 【意图】 将一个请求封装为一个对象,从而使用你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 可变的方面是:何时,怎样满足一个请求 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。 请求的一方发出请求要求执行一个操作;接收的一方收到请求,并…
PHP设计模式笔记:使用PHP实现合成模式 【意图】 将对象组合成树形结构以表示"部分-整体"的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。 Composite变化的是一个对象的结构和组成 【合成模式中主要角色】 抽象组件(Component)角色:抽象角色,给参加组合的对象规定一个接口。在适当的情况下,实现所有类共有接口的缺省行…
PHP设计模式笔记:使用PHP实现享元模式 【意图】 运用共享技术有效的支持大量细粒度的对象 享元模式变化的是对象的存储开销 【享元模式结构图】 [caption id="attachment_870" align="aligncenter" width="426" caption="享元模式"] [/caption] 【享元模式中主要角色】 抽象享元(Fl…
数据结构复习笔记:使用PHP实现内排序之冒泡排序和简单选择排序 【基本概念】 排序:排序是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列 内排序:内排序指的是待排序记录在放在计算机随机存储器中进行的排序过程 内排序大致可分为插入排序、交换排序、选择排序、归并排序和计数排序 在排序的过程中需要进行两种基本操作:1、比较两个关键字的大小,2…
PHP设计模式笔记:使用PHP实现策略模式 【意图】 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 策略模式变化的是算法 【策略模式结构图】 [caption id="attachment_851" align="aligncenter" width="617" caption="策略模式"] […
PHP设计模式笔记:使用PHP实现状态模式 【意图】 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 状态模式变化的位置在于对象的状态 【状态模式结构图】 [caption id="attachment_847" align="aligncenter" width="464" caption="状态模式"] [/caption] 【状…
PHP设计模式笔记:使用PHP实现适配器模式 【意图】 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作【GOF95】 【适配器模式结构图】 [caption id="attachment_821" align="aligncenter" width="370" caption="类适配器…
PHP设计模式笔记:使用PHP实现工厂模式 【意图】 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使用一个类的实例化延迟到其子类【GOF95】 【工厂模式结构图】 [caption id="attachment_794" align="aligncenter" width="652" caption="工厂方法模式"] …