PHP设计模式汇总(2)—— PHP抽象工厂模式
2022-05-31MYSQL
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。开闭原则, 应该对类的增加开放,对类的修改闭合。定义一个门的接口 门必有两个功能,一个是开,一个是关。
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
开闭原则, 应该对类的增加开放,对类的修改闭合。
定义一个门的接口,门必有两个功能,一个是开,一个是关。
<?php class MySQL { } class Sqlite { } class MyPDO { } interface Factory { public static function getDB(); } class MySQLFactory implements Factory { public static function getDB() { return new MySQL(); } } class SqliteFactory implements Factory { public static function getDB() { return new Sqlite(); } } class MyPDOFactory implements Factory { public static function getDB() { return new MyPDO(); } } // 配置文件,假设这是项目框架中的配置信息 $fact = 'MyPDOFactory'; $db = MyPDOFactory::getDB(); print_r($db);
普通工厂模式和抽象工厂模式对比
普通模式:用于创建复杂对象。(单点食物)
抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。(买套餐)
普通工厂创建一般只有一个方法,创建一种产品。
抽象工厂创建一般有多个方法,创建一系列产品。
经典的设计模式:
(后续待更新)
很赞哦! ()