当前位置: 时代头条 > 正文

php抽象工厂模式

php抽象工厂模式

相对于上一章说到的简单工厂模式和方法工厂模式,抽象工厂模式可以增加产品族,

各种工厂模式运用场景不同,根据具体业务需求而定。

php抽象工厂模式

内外两族接口方法

php抽象工厂模式

创建对象也抽象成接口

php抽象工厂模式

调用方法

具体代码

interface car{

function makeCar();

}

class O_engine implements car{

function makeCar() {

echo '需要引擎
';

}

}

class I_engine implements car{

function makeCar() {

echo '引擎也要油啊!
';

}

}

class O_lights implements car{

function makeCar() {

echo '需要车灯
';

}

}

class I_lights implements car{

function makeCar() {

echo '车灯也要电啊!
';

}

}

interface getCar{

//将对象的创建抽象成一个接口。

function getOut(); //外部

function getIn(); //内部

}

class getEngine implements getCar{

function getOut() {

return new O_engine;

}

function getIn() {

return new I_engine;

}

}

class getLights implements getCar {

function getOut() {

return new O_lights;

}

function getIn() {

return new I_lights;

}

}

class Client {

// 简单工厂里的静态方法

function start() {

$getEngine = new getEngine;

$car = $getEngine->getOut();

$car->makeCar();

$car = $getEngine->getIn();

$car->makeCar();

$getLights = new getLights;

$car = $getLights->getOut();

$car->makeCar();

}

}

$client = new Client;

$client->start();

最新文章

取消
扫码支持 支付码