PHP设计模式 ——(抽象工厂模式)

44 阅读1分钟

1.抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式

使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可不需逐一寻找代码中具体实例化的地方(new处)修改了

为系统结构提供灵活的动态扩展机制,减少了耦合。

抽象多个工厂;

<?php
/*
interface是完全抽象的,只能声明方法,而且只能声明 public 的方法,不能声明 private 及 protected 的方法
不能定义方法体,也不能声明实例变量 。 interface 却可以声明常量变量 。
*/
interface Car
{
    const BIG=100; //
    public function getWidth(); //获取车宽度 不允许用private和protected修饰
    public function getHeight();//获取车高度
}

interface Colors
{
    public function setColor($c);
    public fu