目的
在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。
举例
<?php
class KuaidiBirdLogic extends BaseLogic
{
private $basic;
private $num;
public function __construct(int $num, int $basic)
{
$this->num = $num;
$this->basic = $basic;
}
}
class KuaidiOneLogic implements KuaidiBase
{
private $num;
public function __construct(int $num)
{
$this->num = $num;
}
}
定义抽象工厂类
<?php
class ExpressFactory extends Model
{
public function getKuaidiBirdList() {
return new KuaidiBirdLogic(12, 13);
}
public function getKuaidiOneLogic() {
return new KuaidiOneLogic();
}
}
几种工厂模式的区别
抽象工厂模式
类似于示例Basic