php设计模式:工厂模式
来源:互联网 发布:h5手机页面源码下载 编辑:程序博客网 时间:2024/06/05 23:52
php设计模式:工厂模式
意图:
定义一个用于创建对象的接口,让子类决定实例化哪一个类。
工厂模式实现:
工厂模式中任何创建对象的工厂类都要实现这个接口,实现接口的方法体中都要实现接口中的方法,它声明了工厂方法,该方法返回一个Product类型的对象。
工厂模式适用场景:
1、当一个类不知道它所必须创建的对象的类的时候
2、当一个类希望由它的子类来指定它所创建的对象的时候
3、当类将创建对象的职责委托给多个帮助子类的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候
实例:
<?php /** * 抽象工厂角色 */interface Creator { public function factoryMethod();} /** * 具体工厂角色A */class ConcreteCreatorA implements Creator { /** * 工厂方法 返回具体 产品A * @return ConcreteProductA */ public function factoryMethod() { return new ConcreteProductA(); }} /** * 具体工厂角色B */class ConcreteCreatorB implements Creator { /** * 工厂方法 返回具体 产品B * @return ConcreteProductB */ public function factoryMethod() { return new ConcreteProductB(); }} /** * 抽象产品角色 */interface Product { public function operation(); } /** * 具体产品角色A */class ConcreteProductA implements Product { /** * 接口方法实现 输出特定字符串 */ public function operation() { echo 'ConcreteProductA <br />'; }} /** * 具体产品角色B */class ConcreteProductB implements Product { /** * 接口方法实现 输出特定字符串 */ public function operation() { echo 'ConcreteProductB <br />'; }} class Client { /** * Main program. */ public static function main() { $creatorA = new ConcreteCreatorA(); $productA = $creatorA->factoryMethod(); $productA->operation(); $creatorB = new ConcreteCreatorB(); $productB = $creatorB->factoryMethod(); $productB->operation(); } } Client::main();?>
0 0
- 【PHP设计模式】工厂模式
- php设计模式:工厂模式
- php设计模式 工厂模式
- PHP设计模式-工厂模式
- php设计模式-工厂模式
- PHP设计模式-工厂模式
- php设计模式:工厂模式,
- PHP设计模式---工厂模式
- PHP设计模式-工厂模式
- php设计模式-工厂模式
- php设计模式---工厂模式
- PHP设计模式---工厂模式
- PHP设计模式-工厂设计模式
- PHP 常见工厂设计模式
- PHP 常见工厂设计模式
- PHP 常见工厂设计模式
- PHP设计模式之工厂
- PHP设计模式系列 - 工厂模式
- poj 1157 LITTLE SHOP OF FLOWERS dp
- 关于写博客的事!
- Java进阶之欧拉工程 第七篇【持续更新】
- TODO
- NSData与UIImage之间的转换
- php设计模式:工厂模式
- 黑马程序员-单例设计模式
- Linux 下远程桌面 Remmina 无法连接
- LeetCode-Wildcard Matching
- hadoop能用到的系统端口
- MFC中CString char* int的相互转换
- 在Linux下分析 C程序的性能
- php设计模式笔记:单例模式
- 关于CEGUI的几点不解