百度词条的解释
http://baike.baidu.com/view/1580269.htm
<?php
//抽象工厂模式
class ShiWuHongShaoRou {
function __construct() {
echo '我是红烧肉';
}
}
class ShiWuZhuZhou {
function __construct() {
echo '我是猪肘';
}
}
class CanJuPingDiGuo {
function __construct() {
echo '我是平底锅';
}
}
class CanJuShaoZi {
function __construct() {
echo '我是勺子';
}
}
//主工厂
class createCreator {
function getCreator($creator) {
$creatorName = $creator.'Creator';
return new $creatorName();
}
}
interface ProductCreator {
function createPro();
}
//食物工厂
class ShiWuCreator {
function createPro($pro) {
$proClassName = 'ShiWu'.$pro;
return new $proClassName();
}
}
//餐具工厂
class CanJuCreator {
function createPro($pro) {
$proClassName = 'CanJu'.$pro;
return new $proClassName();
}
}
$creator = new createCreator();
$creator->getCreator('ShiWu')->createPro('ZhuZhou');
$creator->getCreator('CanJu')->createPro('PingDiGuo');
?>