上一页 1 ··· 8 9 10 11 12 13 14 15 下一页

[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 阅读(1586) 评论(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 阅读(1207) 评论(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 阅读(1389) 评论(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 阅读(1074) 评论(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 阅读(1152) 评论(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 阅读(1216) 评论(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 阅读(1566) 评论(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 阅读(1462) 评论(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 阅读(1305) 评论(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 阅读(1751) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 下一页