分享

常用设计模式之简单工厂模式

 糖伯虎点秋香 2011-02-09
简单工厂模式(Simple Factory Pattern):
 
        定义:简单工厂模式又被称为静态工厂方法模式,具体指创建一个类似于工厂的类,通过对该类中成员函数的调用返回不同类型的对象。
        在面向对象编程方式中,简单工厂模式是一种经常用到的模式。简单工厂模式提供了一种在实时状态下实例化对象的机制,该模式的核心是工厂类,该类中含有必要的判断逻辑,可以决定在什么时候创建并返回那个产品类的实例化对象。示例代码:
 
<?php
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 "<br>";
$product = ProductFactory::create("B");
$product->getName();
?>
 
        在上述示例代码中,抽象类Product定义了一个获取产品名称的成员方法getName(),Product抽象类的具体实现为子类ProductA和ProductB。工厂类ProductFactory用来决定在什么时候创建并返回哪个产品类的实例化对象,使用工厂类时将参数传递给其成员方法Create(),就可以创建Product类的对象,无需考虑具体的生产细节。
        简单工厂模式的类关系图:
        简单工厂模式的运行结果:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多