您的位置:首页 > 编程语言 > PHP开发

PHP面向对象深入理解之四(设计模式-工厂模式)

2017-08-06 17:54 1066 查看
适用于创建相同类型的模型类 能使代码更加健壮

举个栗子:车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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php