工厂模式的目的?
用一个统一方法创建不同的实例。
function getInstance($type){
if($type == 'A') return new A();
if($type == 'B') return new B();
return new C();
}
通过参数判断创建哪个类的实例,本例子默认返回C类实例。
完整代码:
class Product{
function getInstance($name){
if($name == 'A') return new A();
if($name == 'B') return new B();
if($name == 'C') return new C();
}
}
class A {
function describe(){
echo '这是A的实例';
}
}
class B{
function describe(){
echo '这是B的实例';
}
}
class C{
function describe(){
echo '这是C的实例';
}
}
$product = new Product();
$A = $product->getInstance('A');
$A->describe(); //输出 这是A的实例
$B = $product->getInstance('B');
$B->describe(); //输出 这是B的实例
$C = $product->getInstance('C');
$C->describe(); //输出 这是C的实例
网友评论