摘要: 命令模式将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化。对请求排队或记录请求日志,以及支持撤销的操作。命令模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。您可以为系统添加或移除处理程序,而不影响其他处理程序。命令模式的四种角色:1. 接收者(Receiver)负责执行与请求相关的操作2. 命令接口(Command)封装execute()、undo()等方法3. 具体命令(ConcreteCommand)实现命令接口中的方法4. 请求者(Invoker)包含Comman 阅读全文
posted @ 2013-01-31 18:00 最美的痕迹 阅读(1674) 评论(1) 推荐(1) 编辑
摘要: 观察者模式(ObserverPattern)观察者模式属于行为模式,是定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。它完美的将观察者对象和被观察者对象分离。可以在独立的对象(主体)中维护一个对主体感兴趣的依赖项(观察器)列表。让所有观察器各自实现公共的Observer接口,以取消主体和依赖性对象之间的直接依赖关系。<?phpinterface IObserver { function onChanged($sender, $args);}interface IObservable { function addObserve... 阅读全文
posted @ 2013-01-31 17:58 最美的痕迹 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 策略模式(StrategyPattern)策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2.定义具体策略类(具体实现父类的共同方法)3.定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方法)策略模式的代码实例:<?php abstract class baseAgent { 阅读全文
posted @ 2013-01-31 17:56 最美的痕迹 阅读(3195) 评论(0) 推荐(0) 编辑
摘要: 单例模式(SingletonPattern单件模式或单元素模式)单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。单例模式有以下3个特点:1.只能有一个实例。2.必须自行创建这个实例。3.必须给其他对象提供这一实例。那么为什么要使用PHP单例模式?PHP一个主要应用场合就是应用程序与数据库打交道的场景,在一个应用中会存在大量的数据库操作,针对数据库句柄连接数据库的行为,使用单例模式可以避免大量的 阅读全文
posted @ 2013-01-31 17:52 最美的痕迹 阅读(35919) 评论(2) 推荐(4) 编辑
摘要: 可能一直都以为设计模式只是为Java架构师准备的,实际上,设计模式对于每个人都非常有用。为什么说它们在PHP应用程序中也非常有用?接下来让我来解释这些问题。设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。用较小的示例展示设计模式的价值与功用是非常困难的。这往往有些大材小用的意味,因为模式实际上是在大型代码库中发挥作用的。既然已经了解了设计模式以及它们的有用之处,现在我们来看看PHP5的几种常用模式。一、工厂模式(FactoryPattern)工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。(JAVA中工 阅读全文
posted @ 2013-01-31 17:45 最美的痕迹 阅读(2511) 评论(1) 推荐(0) 编辑
摘要: 在前几年,我入行做网页设计时,就对网页设计情有独钟。时隔好久没有怎么用了,搬上来,方便查借以后使用。好多时候,都是逼出来的,当初做程序员,都是前后台兼顾,能里能外。回头想想,这也挺好。 阅读全文
posted @ 2013-01-31 15:13 最美的痕迹 阅读(436) 评论(0) 推荐(0) 编辑