php中的抽象工厂模式
Aug 08, 2016 am 09:31 AM 抽象工厂模式
其与工厂方法模式的区别在于抽象工厂是先创建工厂,然后工厂在创建商品(实例);
定义一个创建对象的接口,让子类决定哪个类实例化。 他可以解决简单工厂模式中的封闭开放原则问题;
// 产品(数据库)标准 interface DbInterface{ public function connect(Array $params=array()); public function query($sql); public function insert($table, $record); public function update($table, $record, $where); public function delete($table, $where); } // 具体产品(Mysql) class MysqlDb implements DbInterface(){ public function connect(Array $params=array()); public function query($sql){} public function insert($table, $record){} public function update($table, $record, $where){} public function delete($table, $where){} } class OracalDb implements DbInterface(){ public function connect(Array $params=array()){} public function query($sql){} public function insert($table, $record){} public function update($table, $record, $where){} public function delete($table, $where){} } // 构造工厂 interface CreateFactory(){ function createDB(); //分为 内敛的和外向的 } class FactoryMysql implements CreateFactory{ function createDB() { return new MysqlDb(); } } class FactoryOracle implements CreateFactory{ function createDB() { return new OracalDb(); } } (1) 如果想使用mysql $db = new FactoryMysql()->createDB(); //
以上就介绍了php中的抽象工厂模式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quelle est la différence entre la version développeur et la version publique d'iOS ?

Black Myth : Wukong écrase la concurrence avec 2,2 millions de joueurs Steam quelques heures seulement après son lancement

Comment utiliser la méthode Where dans les collections Laravel

Un guide pratique de la méthode Where dans les collections Laravel

Explication détaillée du rôle et de la fonction de la table MySQL.proc

Quel est le but de la fonction « enumerate() » en Python ?

Du débutant au compétent : maîtrisez les compétences d'utilisation des sélecteurs et où
