前言:
在大量需要实例化的需求中,我们为了更为方便的去生产对象,可以采用工厂方法模式。
优点:降耦合,避免出错造成相关的错误,增加代码的可维护性.相比于简单工厂方法,易扩展.
该工厂模式方法可应用于,不同数据库连接,不同的支付方式如支付宝或微信支付,等等。
<?php //抽象产品 interface Product { public function show(); } //具体产品 class ProductA implements Product { public function show() { echo "i am a method A"; } } class ProductB implements Product { public function show() { echo "i am a method B"; } } //工厂生产模式 interface Factory { public function createProduct(); } class FactoryA implements Factory{ public function createProduct() { return new ProductA(); } } class FactoryB implements Factory{ public function createProduct() { return new ProductB(); } } $factory=new FactoryB(); $product=$factory->createProduct(); $product->show();
总结:
1.一个抽象产品可以衍生多条具体的产品。
2.一个抽象工厂可以衍生多条具体的工厂线。
3.一个具体的工厂线只能生成一类具体的产品。