<div class="codetitle"><a style="CURSOR: pointer" data="78754" class="copybut" id="copybut78754" onclick="doCopy('code78754')"> 代码如下:<div class="codebody" id="code78754"> <?php /* 工厂方法模式 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类 / / 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");
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|