设计模式之——工厂模式

工厂模式的目的?

用一个统一方法创建不同的实例。

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的实例


你可能感兴趣的:(设计模式之——工厂模式)