• 技术文章 >php教程 >php手册

    php设计模式 Factory(工厂模式)

    2016-06-21 08:54:15原创269
    复制代码 代码如下:


    /**
    * 工厂方法模式
    *
    * 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类
    */

    /*
    class DBFactory
    {
    public static function create($type)
    {
    swtich($type)
    {
    case "Mysql":
    return new MysqlDB(); break;
    case "Postgre":
    return new PostgreDB(); break;
    case "Mssql":
    return new MssqlDB(); break;
    }
    }
    }
    */
    class DBFactory
    {
    public static function create($type)
    {
    $class = $type."DB";
    return new $class;
    }
    }

    interface DB
    {
    public function connect();
    public function exec();
    }

    class MysqlDB implements DB
    {
    public function __construct() {
    echo "mysql db
    ";
    }

    public function connect() {
    }

    public function exec() {
    }
    }

    class PostgreDB implements DB
    {
    public function __construct() {
    echo "Postgre db
    ";
    }

    public function connect() {
    }

    public function exec() {
    }
    }

    class MssqlDB implements DB
    {
    public function __construct() {
    echo "mssql db
    ";
    }

    public function connect() {
    }
    public function exec() {
    }
    }

    $oMysql = DBFactory::create("Mysql");
    $oPostgre = DBFactory::create("Postgre");
    $oMssql = DBFactory::create("Mssql");



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php设计模式 State (状态模式) 下一篇:php设计模式 Interpreter(解释器模式)

    相关文章推荐

    • 【原】使用wsdl的注意事项• php实现memcache缓存示例讲解• 经验分享:PHP编程的5个良好习惯(一)(1)• xzn_html_tree1.0可折叠大纲测试例• PHP时间的两种类型解析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网