PHP面向对象深入理解之四(设计模式-工厂模式)
来源:互联网 发布:linux 图形化压缩软件 编辑:程序博客网 时间:2024/05/16 14:51
适用于创建相同类型的模型类 能使代码更加健壮
举个栗子:车Car --> 奥迪,福特,宝马... 我们要造一辆
举个栗子:车Car --> 奥迪,福特,宝马... 我们要造一辆
重要的是我们不需要引入所有相关类,我们只需要引入一个工厂类 即可
interface Car{public function makeCircle();public function makeBody();public function makeEngine();public function makeDecoration();}class Audi{public function makeCircle(){ echo 'make Audi Circle';}public function makeBody(){ echo 'make Audi Body';}public function makeEngine(){ echo 'make Audi Engine';}public function makeDecoration(){ echo 'make Audi Decoration';}public function makeAuto(){}}class Ford{public function makeCircle(){ echo 'make Audi Circle';}public function makeBody(){ echo 'make Audi Body';}public function makeEngine(){ echo 'make Audi Engine';}public function makeDecoration(){ echo 'make Audi Decoration';}public function makeHandle(){}}class BMW{public function makeCircle(){ echo 'make BMW Circle';}public function makeBody(){ echo 'make BMW Body';}public function makeEngine(){ echo 'make BMW Engine';}public function makeDecoration(){ echo 'make BMW Decoration';}public function makeAll(){}}class CarFactory {static public function create($class,$params){if(!class_exists($class)){throw new Exception("class not existis!");}return new $class($params);}}$audi = CarFactory::create('Audi',’15w‘);$audi->makeCircle();$bmw = CarFactory::create('BMW',’100w‘);$bmw->makeAll();
阅读全文
0 0
- PHP面向对象深入理解之四(设计模式-工厂模式)
- PHP面向对象深入理解之四(设计模式-单例模式)
- PHP面向对象深入理解之四(设计模式-观察者模式)
- 深入理解PHP:高级技巧、面向对象与核心技术(原书第3版) -- 设计模式之工厂模式
- PHP面向对象之简单工厂模式
- 面向对象的设计模式(四),工厂方法模式
- 深入理解PHP:高级技巧、面向对象与核心技术(原书第3版) -- 设计模式之单一模式
- 深入理解PHP:高级技巧、面向对象与核心技术(原书第3版) -- 设计模式之组合模式
- 深入理解PHP:高级技巧、面向对象与核心技术(原书第3版) -- 设计模式之策略模式
- PHP面向对象编程设计模式(三)工厂模式
- c#面向对象设计模式之工厂模式
- 面向对象设计模式实践之抽象工厂模式
- PHP面向对象编程设计模式(四)观察者模式
- 面向对象设计模式-简单工厂模式
- 个人对于PHP设计模式之工厂模式的理解
- PHP生成对象之设计模式—工厂方法模式
- php面向对象开发之——工厂模式
- php面向对象开发之——抽象工厂模式
- flume-ng+Kafka+Storm+HDFS 实时系统组合
- Redis简单入门
- 设计模式(23)--访问者模式
- Hash表、Hash函数及冲突解决
- 最新苹果手机丢失通过ICCID反查手机号的方法【丢锋网独家整理】
- PHP面向对象深入理解之四(设计模式-工厂模式)
- 习题--数组中的循环
- 不用USB 通过WIFI的方式构建adb shell连接Android手机的文件系统
- 结构体长度问题
- Unity 渲染教程(一):矩阵
- lua基础2.表
- Hibernate 不同数据库的连接及SQL方言
- Java网络03 Servlet沙拉
- HDU