php设计模式之简单工厂模式
工厂模式定义:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。严格来说简单工厂模式并非属于设计模式,只能是属于一个开发过程中的良好习惯。
<?php
/**
* 定义工厂接口
*/
interface FactoryInterface{
//定义一个工具方法
public function tool();
}
/**
* 工厂抽象父类继承工厂接口
*/
abstract class Factory implements FactoryInterface{
abstract public function tool();
public function tool2(){
echo "我是公共方法".PHP_EOL;
}
}
/**
* 工厂类1
*/
class Factory1 extends Factory{
public function tool(){
echo "我是工厂1工具方法".PHP_EOL;
}
}
/**
* 工厂类2
*/
class Factory2 extends Factory{
public function tool(){
echo "我是工厂2工具方法".PHP_EOL;
}
}
/**
* 工厂创建类
*/
class FactoryCreate{
//工厂对象
private $_factoryObj;
//工厂类选择
public function __construct($flage){
if($flage == 1){
$this->_factoryObj = new Factory1;
}
if($flage == 2){
$this->_factoryObj = new Factory2;
}
}
public function getTool(){
$this->_factoryObj->tool();
}
}
$obj1 = new FactoryCreate(1);
$obj2 = new FactoryCreate(2);
$obj1 -> getTool();
$obj2 -> getTool();

浙公网安备 33010602011771号