php工厂模式的三种形式的示例代码详解
';
}
}
class AuDiCar implements ICar {
public function run() {
echo 'audi run!
';
}
}
/**
* 简单工厂
*/
class FactorySimple {
/*
public static function createBmw() {
return new BMWCar();
}
public static function createAudi() {
return new AuDiCar();
}
*/
public static function createCar($type) {
switch($type) {
case 'bmw':
return new BMWCar();
case 'audi':
return new AuDiCar();
default:
throw new Exception('type error!');
}
}
}
// ------------------------------------------------------
// ------------------------------------------------------
// 工厂方法模式
interface CreateCar { //工厂类接口
function create();
}
/**
* bmw car factoyr
*/
class BmwFactory implements CreateCar {
public function create() {
return new BMWCar();
}
}
/**
* audi car factory
*/
class AuDiFactory implements CreateCar {
public function create() {
return new AuDiCar();
}
}
// ------------------------------------------------------
// ------------------------------------------------------
// 抽象工厂模式
class WhiteBMWCar implements ICar {
public function run() {
echo 'white bmwcar run!
';
}
}
class BlackBMWCar implements ICar {
public function run() {
echo 'black bmwcar run!
';
}
}
class WhiteAuDiCar implements ICar {
public function run() {
echo 'white audicar run!
';
}
}
class BlackAuDiCar implements ICar {
public function run() {
echo 'black audicar run!
';
}
}
// 提供一系列的接口
interface ICarCreate {
function createBmw();
function createAuDi();
}
/**
* create white car
*/
class WhiteCarFactory implements ICarCreate {
// white bmw
public function createBmw() {
return new WhiteBMWCar();
}
// white audi
public function createAuDi() {
return new WhiteAuDiCar();
}
}
/**
* create black car
*/
class BlackCarFactory implements ICarCreate {
// black bmw
public function createBmw() {
return new BlackBMWCar();
}
// black audi
public function createAuDi() {
return new BlackAuDiCar();
}
}相关文章:
商家联盟分红权返利购物商城系统源码是一套完整的电子商城系统,包含了订单管理,订单查询,购物车,商品管理,会员管理,团购管理,购物返利,商家加盟等功能。页面介绍:首页、红利计划、商家联盟、商户入驻、商城购物、代理加盟、商家展示。后台管理功能:系统管理、文章管理、用户管理、商城管理、支付管理统计信息、站点配置、角色管理等。系统采用三层架构工厂模式,完全开源。注意:商城与商城管理还有商家代理系统是分开的
立即学习“PHP免费学习笔记(深入)”;










