嘉兴做网站的哪家好,黄页号码认证,一个人看的在线观看视频免费下载,wordpress摘要排除代码1#xff0c;抽象工厂#xff08;Abstract Factory#xff09;模式#xff0c;是创建设计模式的一种#xff0c;它创建一系列相关的对象#xff0c;而不必指定具体的类。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候#xff0c;可以为此系…1抽象工厂Abstract Factory模式是创建设计模式的一种它创建一系列相关的对象而不必指定具体的类。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候可以为此系列的产品族创建一个具体的工厂类。 主要角色 抽象工厂(Abstract Factory)角色它声明创建抽象产品对象的接口 具体工厂(Concrete Factory)角色实现创建产品对象的操作 抽象产品(Abstract Product)角色声明一类产品的接口 具体产品(Concrete Product)角色实现抽象产品角色所定义的接口 2例子 //抽象A产品
interface ProductA
{public function show();
}class RedA implements ProductA
{public function show(){echo 商品RedA;}
}class BlueA implements ProductA
{public function show(){echo 商品BlueA;}
}//抽象B产品
interface ProductB
{public function show();
}class RedB implements ProductB
{public function show(){echo 商品RedB;}
}class BlueB implements ProductB
{public function show(){echo 商品BlueB;}
}//抽象工厂
interface Abstractfactory
{public function createA(): ProductA;public function createB(): ProductB;
}//具体工厂Red
class Redfactory
{public function createA():ProductA{return new RedA();}public function createB():ProductB{return new RedB();}
}
//具体工厂Blue
class Bluefactory
{public function createA(){return new BlueA();}public function createB(){return new BlueB();}
}
$pnew Redfactory();
$p-createA()-show();//商品RedA