zoukankan      html  css  js  c++  java
  • 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();
    

      

  • 相关阅读:
    Tarjan算法与割点割边
    kmp匹配
    最小表示法
    字典树
    哈希
    网络流入门浅谈
    关于两道搜索的题目
    2020 4.2校内测题解
    LIS最长上升子序列讲解&&洛谷P1439 【模板】最长公共子序列 题解
    浅谈拉格朗日插值公式
  • 原文地址:https://www.cnblogs.com/feiyujinghong/p/6386671.html
Copyright © 2011-2022 走看看