最新消息:

php抽象工厂模式

PHP baixiaoshideITshuaguaimiji 54浏览 0评论

php抽象工厂模式

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

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

php抽象工厂模式

内外两族接口方法

php抽象工厂模式

创建对象也抽象成接口

php抽象工厂模式

调用方法

具体代码

interface car{

function makeCar();

}

class O_engine implements car{

function makeCar() {

echo ‘需要引擎<br>’;

}

}

class I_engine implements car{

function makeCar() {

echo ‘引擎也要油啊!<br>’;

}

}

class O_lights implements car{

function makeCar() {

echo ‘需要车灯<br>’;

}

}

class I_lights implements car{

function makeCar() {

echo ‘车灯也要电啊!<br>’;

}

}

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();

转载请注明:PHP学习 » php抽象工厂模式

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址