目录:
NEWS
Factory(工厂)
Observer(观察者)
Singleton(单件)
Strategy(策略)
版本 SubVersion 入门
TDD in PHP (知识篇)
Work With Dotproject
编读往来33
精选资源
----------------
Factory设计模式的目标是从使用它的应用程序代码中分离你的对象的实例化过程。例如,根据于不同的情
况,你可能使用不同种类的对象。如果你有两个rendering类,HtmlRenderer 和WmlRenderer,并且
你希望你的应用程序根据连接到哪种类型的客户来透明的使用正确的那个,你可以简单的通过使用Factory
设计模式来实现。
Factory设计模式有很多不同的变种。在下面的例子里,我们选择了非常简单的一个,只使用了一个全局函数。
这个 Factory 方法没有接受参数,但是在很多情况下你可能希望传递信息给 Factory,这样可以帮助它决定应该实例化那种对
象。Factory 模式并没有说要阻止你传递参数给构造函数。
一个使用工厂方法流行的例子是实现反序列化----一种把二维,序列化的字节流转变成对象的代码。我们怎样写一个通用的代码
来实例化可能出现在字节流中的任何对象呢?如果需要为构造函数指明不同的参数怎样,依赖于你要实例化对象的种类?下面是一个实
现。
你熟悉有关php的字节和位的语法的话,你就知道有一种很容易的实现它的方法。上面的示例是一种更
其它的语言完成的一样。它同样允许应有你希望在创建器中实现额外的逻辑的弹性(可能发送一些信息
的说php有内建的对工厂方法的支持,利用简单的写出 $object = new $classname 的方法。
