工厂模式

来源:互联网 发布:手机股票决策软件 编辑:程序博客网 时间:2024/06/05 20:23
interface DB {

    function conn():

}

interface Factory {
    function createDB();
}

class mysqlFactory implements Factory {
    public function createDB() {
        return new dbmysql();
    }
}

class mysqliFactory implements Factory {
    public function createDB() {
        return new dbmysqli();
    }
}

class DBMysql implements DB {
    function conn() {
        echo '我用mysql方式帮你连上数据库';
    }

}


class DBMysqli implements DB {

    function conn() {
        echo '我用mysqli方式帮你连上数据库';
    }

}

//====服务器端增加oracle类===
//前面的代码不需要修改
class oracleFactory implements Factory {
    public function createDB() {
        return new dboracle();
    }
}

class DBOracle implements DB {
    function conn() {
        echo '我用oracle方式帮你连上数据库';
    }
}

以上的设计模式符合了“开闭原则--对于修改是封闭的,对于拓展是开放的”




0 0