简单工厂模式(三)
来源:互联网 发布:数据流程图的分析方法 编辑:程序博客网 时间:2024/05/29 18:27
工厂模式,就是负责生成其他对象的类或方法。
1 类实现
比如,我们有一些类,它们都继承自交通工具类:
interface Vehicle{ public function drive();}class Car implements Vehicle{ public function drive() { echo '汽车靠四个轮子滚动行走。'; }}class Ship implements Vehicle{ public function drive() { echo '轮船靠螺旋桨划水前进。'; }}class Aircraft implements Vehicle{ public function drive() { echo '飞机靠螺旋桨和机翼的升力飞行。'; }}
再创建一个工厂类,专门用作类的创建,:
class VehicleFactory{ public static function build($className = null) { $className = ucfirst($className); if ($className && class_exists($className)) { return new $className(); } return null; }}
工厂类用了一个静态方法来创建其他类,在客户端中就可以这样使用:
VehicleFactory::build('Car')->drive();VehicleFactory::build('Ship')->drive();VehicleFactory::build('Aircraft')->drive();
省去了每次都要new
类的工作。
2 解决
参考资料:
- Design Patterns: The Simple Factory Pattern
- Understanding the Factory Method Design Pattern
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
更多信息请参考千锋php,千锋论坛
阅读全文
0 0
- 简单工厂模式(三)
- 简单工厂模式(三)
- 简单工厂模式(三)
- 简单工厂模式(三)
- 工厂模式(简单工厂模式, 工厂方法模式, 抽象工厂模式)三
- 工厂三兄弟之简单工厂模式(三)
- 工厂三兄弟之简单工厂模式(三)
- 工厂三兄弟之简单工厂模式(三)
- 工厂三兄弟之简单工厂模式(三)
- 工厂三兄弟之简单工厂模式(三)
- 工厂三兄弟之简单工厂模式(三)
- (三)简单工厂模式详解
- (三)简单工厂模式详解
- (三)简单工厂模式详解
- (三)简单工厂模式详解
- (三)简单工厂模式详解
- (三)简单工厂模式详解
- (三)简单工厂模式详解
- UVa10340 ALL IN ALL AC
- 设计原则(二)
- C++抽象编程——数据文件的读写与修改
- python中的函数参数详解
- json开发工具包一共有3个jar
- 简单工厂模式(三)
- MySQL数据库水平分表策略--一致性hash
- webservice-cxf-与spring整合
- UEditor在JavaWeb中的应用
- 读书笔记《Effective C++》条款33:避免遮掩继承而来的名称
- 4759: [Usaco2017 Jan]Balanced Photo
- 单例模式
- linux下dnw下载驱动后无法操作的问题日常记录
- 飞机大战的第一个页面