06 2011 档案

[php]php设计模式 Interator (迭代器模式)
摘要:1 <?php 2 /** 3 * 迭代器模式 4 * 5 * 提供一个方法顺序访问一聚合对象中的各个元素,而又不暴露对象的内部表示 6 */ 7 interface Interator 8 { 9 publicfunctionnext();10 publicfunction first();11 publicfunctioncurrent();12 publicfunction isDone();13 }14 15 class SomeInterator implements Interator16 {17 private$_arr=array();18 19 publicfunct. 阅读全文

posted @ 2011-06-29 21:59 bluefrog 阅读(1778) 评论(0) 推荐(0)

[php]php设计模式 (总结)
摘要:传统的23种模式(没有区分简单工厂与抽象工厂)http://www.cnblogs.com/bluefrog/archive/2011/01/04/1925933.html php设计模式 Interpreter(解释器模式)http://www.cnblogs.com/bluefrog/archive/2011/01/04/1925932.html php设计模式 Factory(工厂模式)http://www.cnblogs.com/bluefrog/archive/2011/01/04/1925929.html php设计模式 Facade(外观模式)http://www.cnblogs 阅读全文

posted @ 2011-06-28 21:07 bluefrog 阅读(12522) 评论(2) 推荐(1)

[php]php设计模式 Visitor (访问者模式)
摘要:1 <?php 2 /** 3 * 访问者模式 4 * 5 * 表示一个作用于某对象结构中的各元素的操作,可以在不改变各元素的类的前提下定义作用于这些元素的新操作 6 * 7 */ 8 abstractclass Visitor 9 {10 abstractpublicfunction visitCroncreteElementA($element);11 abstractpublicfunction visitCroncreteElementB($element);12 }13 14 class ConcreteVisitor1 extends Visitor15 {16 publ.. 阅读全文

posted @ 2011-06-27 21:48 bluefrog 阅读(1598) 评论(0) 推荐(0)

[php]php设计模式 Memento (备忘录模式)
摘要:1 <?php 2 /** 3 * 备忘录模式 4 * 5 * 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到保存的状态 6 */ 7 class Memento 8 { 9 private$_state=null;10 11 publicfunction __construct($state)12 {13 $this->_state =$state;14 }15 16 publicfunction getState()17 {18 return$this->_state;19 }20 }21 2... 阅读全文

posted @ 2011-06-26 22:41 bluefrog 阅读(1218) 评论(4) 推荐(0)

[php]php设计模式 Prototype (原型模式)
摘要:1 <?php 2 /** 3 * 原型模式 4 * 5 * 用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象 6 * 7 */ 8 abstractclass Prototype 9 {10 private$_id=null;11 12 publicfunction __construct($id)13 {14 $this->_id =$id;15 }16 17 publicfunction getID()18 {19 return$this->_id;20 }21 22 publicfunction __clone() //... 阅读全文

posted @ 2011-06-25 22:54 bluefrog 阅读(1402) 评论(0) 推荐(0)

[php]php设计模式 Mediator (中介者模式)
摘要:1 <?php 2 /** 3 * 中介者模式 4 * 5 * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 6 */ 7 abstractclass Mediator 8 { 9 abstractpublicfunction send($message,$colleague);10 }11 12 abstractclass Colleague13 {14 private$_mediator=null;15 16 publicfunction Colleague($mediator)17 {18 $this... 阅读全文

posted @ 2011-06-24 22:57 bluefrog 阅读(1090) 评论(0) 推荐(1)

[php]php设计模式 FlyWeight (享元模式)
摘要:1 <?php 2 /** 3 * 享元模式 4 * 5 * 运用享元技术有效的支持大量细粒度的对象 6 */ 7 class CD 8 { 9 private$_title=null;10 private$_artist=null;11 12 publicfunction setTitle($title)13 {14 $this->_title =$title;15 }16 17 publicfunction getTitle()18 {19 return$this->_title;20 }21 22 publicfunction setArtist... 阅读全文

posted @ 2011-06-23 22:26 bluefrog 阅读(1163) 评论(0) 推荐(0)

[php]php设计模式 Chain Of Responsibility (职责链模式)
摘要:1 <?php 2 /** 3 * 职责链模式 4 * 5 * 为解除请求的发送者和接收者之间的耦合,而使用多个对象都用机会处理这个请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它 6 * 7 */ 8 abstractclass Handler 9 {10 protected$_handler=null;11 12 publicfunction setSuccessor($handler)13 {14 $this->_handler =$handler;15 }16 17 abstractfunction handleRequest($req... 阅读全文

posted @ 2011-06-22 23:26 bluefrog 阅读(1228) 评论(0) 推荐(0)

[php]php设计模式 Bridge (桥接模式)
摘要:1 <?php 2 /** 3 * 桥接模式 4 * 5 * 将抽象部份与它实现部分分离,使用它们都可以有独立的变化 6 */ 7 abstractclass Implementor 8 { 9 abstractpublicfunction operation();10 }11 12 class ConcreteImplementorA extends Implementor13 {14 publicfunction operation()15 {16 echo"ConcreteImplementorA Operation<br/>";17 }18 }19 阅读全文

posted @ 2011-06-21 22:58 bluefrog 阅读(1574) 评论(0) 推荐(0)

[php]php设计模式 Proxy (代理模式)
摘要:1 <?php 2 /** 3 * 代理模式 4 * 5 * 为其他对象提供一个代理以控制这个对象的访问 6 * 7 */ 8 interface Proxy 9 {10 publicfunction request();11 publicfunction display();12 }13 14 class RealSubject15 {16 publicfunction request()17 {18 echo"RealSubject request<br/>";19 }20 21 publicfunction display()22 {23 echo& 阅读全文

posted @ 2011-06-21 00:10 bluefrog 阅读(1473) 评论(0) 推荐(1)

[php]php设计模式 State (状态模式)
摘要:1 <?php 2 /** 3 * 状态模式 4 * 5 * 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类 6 * 7 */ 8 interface State 9 {10 publicfunction handle($state);11 publicfunction display();12 }13 14 class Context15 {16 private$_state=null;17 18 publicfunction __construct($state)19 {20 $this->setState($state);21 }22... 阅读全文

posted @ 2011-06-21 00:08 bluefrog 阅读(1315) 评论(0) 推荐(0)

[php]php设计模式 Composite (组合模式)
摘要:1 <?php 2 /** 3 * 组合模式 4 * 5 * 将对象组合成树形结构以表示"部分-整体"的层次结构,使得客户对单个对象和复合对象的使用具有一致性 6 */ 7 abstractclass MenuComponent 8 { 9 publicfunction add($component){} 10 publicfunction remove($component){} 11 publicfunction getName(){} 12 publicfunction getUrl(){} 13 publicfunction display(){} 14 } 阅读全文

posted @ 2011-06-20 22:23 bluefrog 阅读(1759) 评论(0) 推荐(0)

[转] 关于开源协议
摘要:LGPLLGPL许可证是LESSER GENERAL PUBLIC LICENSE的简写,也叫LIBRARY GENERAL PUBLIC LICENSE,中文译为“较宽松公共许可证”或者“函数库公共许可证”。该许可证适用于一些由自由软件基金会与其它决定使用此许可证的软件作者所特殊设计的软件软件包─比如函数库(即Library)。允许非自由程序使用特定的函数库,可以让更多的人们使用自由软件的大部分。例如,允许非自由程序使用GNU C函数库,可以让更多的人们使用整个GNU作业系统,以及它的变形,GNU/Linux操作系统。尽管LGPL许可证对使用者的自由保护是较少的,但它却能确保与此函数库连结的 阅读全文

posted @ 2011-06-17 22:09 bluefrog 阅读(395) 评论(0) 推荐(0)

[php]php设计模式 Template (模板模式)
摘要:1 <?php 2 /** 3 * 模板模式 4 * 5 * 定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构可以定义该算法的某些特定步骤 6 * 7 */ 8 abstractclass TemplateBase 9 {10 publicfunction Method1()11 {12 echo"abstract Method1<br/>";13 }14 15 publicfunction Method2()16 {17 echo"abstract Method2<br/>";18 }1 阅读全文

posted @ 2011-06-17 01:09 bluefrog 阅读(1664) 评论(0) 推荐(0)

[php]php设计模式 Command(命令模式)
摘要:1 <?php 2 /** 3 * 命令模式 4 * 5 * 将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化,对请求排除或记录请求日志,以及支持可取消的操作 6 */ 7 interface Command 8 { 9 publicfunction execute(); 10 } 11 12 class Invoker 13 { 14 private$_command=array(); 15 publicfunction setCommand($command) { 16 $this->_command[] =$command; 17 } 18... 阅读全文

posted @ 2011-06-16 00:32 bluefrog 阅读(1590) 评论(2) 推荐(0)

[php]php设计模式 Singleton(单例模式)
摘要:1 <?php 2 /** 3 * 单例模式 4 * 5 * 保证一个类仅有一个实例,并提供一个访问它的全局访问点 6 * 7 */ 8 class Singleton 9 {10 staticprivate$_instance=null;11 12 privatefunction __construct()13 {14 }15 16 staticpublicfunction getInstance()17 {18 if(is_null(self::$_instance)) {19 self::$_instance=new S... 阅读全文

posted @ 2011-06-15 20:41 bluefrog 阅读(6159) 评论(3) 推荐(1)

[php]php设计模式 Observer(观察者模式)
摘要:1 <?php 2 /** 3 * 观察者模式 4 * 5 * 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新 6 * 能够便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能 7 * 插件系统 8 */ 9 class Observerable 10 { 11 private$_observers=array(); 12 13 publicfunction registerObserver($observer) 14 { 15 $this->_observers[] =$obse... 阅读全文

posted @ 2011-06-14 00:51 bluefrog 阅读(2027) 评论(0) 推荐(1)

[php]php设计模式 Strategy(策略模式)
摘要:1 <?php 2 /** 3 * 策略模式(Strategy.php) 4 * 5 * 定义一系列算法,把它们一个个封装起来,并且使它们可相互替换,使用得算法的变化可独立于使用它的客户 6 * 7 */ 8 9 // ---以下是一系列算法的封闭---- 10 interface CacheTable 11 { 12 publicfunction get($key); 13 publicfunction set($key,$value); 14 publicfunction del($key); 15 } 16 17 // 不使用缓存 18 class NoC... 阅读全文

posted @ 2011-06-11 00:36 bluefrog 阅读(1261) 评论(0) 推荐(0)