前言:
工厂模式分为3种,简单工厂,工厂方法,抽象工厂.
这里先介绍简单工厂模式.
适用条件:比较适合业务比较简单,模块极少扩展的情况.
该方法由3大部分组成.
抽象产品角色:定义了一些接口方法,供具体的产品去实现.
具体产品角色:实现具体的产品及相关方法.
工厂角色:处于核心位置.根据工厂内定义的方法,去实现不同的加工方式.
<?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"; } } //工厂生产模式 class Factory { public static function createProduct($product_type) { switch ($product_type) { case "ProductA": return new ProductA(); case "ProductB": return new ProductB(); } } } $product=Factory::createProduct("ProductA"); $product->show();