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);
普通工厂模式和抽象工厂模式对比
普通模式:用于创建复杂对象。(单点食物)
抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。(买套餐)
普通工厂创建一般只有一个方法,创建一种产品。
抽象工厂创建一般有多个方法,创建一系列产品。
经典的设计模式:
(后续待更新)
很赞哦! ()
