php怎么设置工厂模式?php抽象工厂模式
php怎么设置工厂模式?php抽象工厂模式function makeCar() {class O_engine implements car{interface car{ function makeCar();}
相对于上一章说到的简单工厂模式和方法工厂模式,抽象工厂模式可以增加产品族,
各种工厂模式运用场景不同,根据具体业务需求而定。
内外两族接口方法
调用方法
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();