首页 > 代码库 > 抽象工厂模式

抽象工厂模式

 

技术分享

 

技术分享
 1 <?php 2 /** 3  * 工厂方法与抽象工厂的区别: 4  * 工厂方法: 抽象出一个共同的创建的行为, 但具体能创建出来什么东西,是由具体的工厂(子类或实现类)来实现的 5  * 抽象模式: 抽象出共同的创建行为,还有必须创建的对象, 所有的工厂(子类或实现类)都必须实现 6  */ 7  8 abstract class AbstractFactory 9 {10     abstract public function createProduct1();11     abstract public function createProduct2();12 }13 14 class FactoryA extends AbstractFactory15 {16     public function createProduct1()17     {18         return new ProductA1();19     }20 21     public function createProduct2()22     {23         return new ProductA2();24     }25 }26 27 class FactoryB extends AbstractFactory28 {29     public function createProduct1()30     {31         return new ProductB1();32     }33 34     public function createProduct2()35     {36         return new ProductB2();37     }38 }39 40 41 42 43 class ProductA144 {45 46 }47 class ProductA248 {49 50 }51 52 class ProductB153 {54 55 }56 class ProductB257 {58 59 }
View Code

 

抽象工厂模式