您的位置:首页 > 其它

设计模式(工厂方法)

2015-08-04 14:09 387 查看
工厂方法

意图:

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

适用性:

当一个类不知道它所必须创建的对象的类的时候。

当一个类希望由它的子类来指定它所创建的对象的时候。

当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

原理图:



代码实现:

<?php
/**
* 工厂模式
*/

/**
* 抽象产品
*/
abstract class food {
private $_name ;

abstract public function make();
}

/**
* 实体产品
*/
class greens extends food {
public function make() {
echo '我要做greens';
}
}
class bread extends food {
public function make() {
echo '我要做bread';
}
}

/**
* 抽象工厂
*/
abstract class servant {
abstract public function createFood();
}

/**
* 实体工场
*/
class greensFactory extends servant{
public function createFood() {
return new greens();
}
}

class breadFactory extends servant{
public function createFood () {
return new bread();
}
}


参考文献:
http://www.cnblogs.com/zhangchenliang/p/3700820.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: