苏州国际双语学校:常用设计模式之简单工厂模式

来源:百度文库 编辑:九乡新闻网 时间:2024/07/08 15:18:07
简单工厂模式(Simple Factory Pattern):         定义:简单工厂模式又被称为静态工厂方法模式,具体指创建一个类似于工厂的类,通过对该类中成员函数的调用返回不同类型的对象。        在面向对象编程方式中,简单工厂模式是一种经常用到的模式。简单工厂模式提供了一种在实时状态下实例化对象的机制,该模式的核心是工厂类,该类中含有必要的判断逻辑,可以决定在什么时候创建并返回那个产品类的实例化对象。示例代码: abstract class Product {
    abstract function getName();
} class ProductA extends Product {
    function getName() {
        echo "我是ProductA";
    }
} class ProductB extends Product {
    function getName() {
        echo "我是ProductB";
    }
} class ProductFactory {
    static function create($name) {
        switch($name) {
            case "A":
                return new ProductA();
            case "B":
                return new ProductB();
        }
    }
} $product = ProductFactory::create("A");
$product->getName();
echo "
";
$product = ProductFactory::create("B");
$product->getName();
?>         在上述示例代码中,抽象类Product定义了一个获取产品名称的成员方法getName(),Product抽象类的具体实现为子类ProductA和ProductB。工厂类ProductFactory用来决定在什么时候创建并返回哪个产品类的实例化对象,使用工厂类时将参数传递给其成员方法Create(),就可以创建Product类的对象,无需考虑具体的生产细节。        简单工厂模式的类关系图:        简单工厂模式的运行结果: