工厂模式

Posted wangfenphph2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。

<?php
//工厂模式;
header("content-type:text/html;charset=utf-8");
//抽象类用来定义方法名;
abstract   class  Product{
	abstract  public  function  getName();
}

//商品类;
class  ProductA   extends   Product{
	 public   function   getName(){
	 	 echo   "这是a商品";
	 }
}

class  ProductB   extends   Product{
	 public   function  getName(){
	 	 echo   "这是b商品";
	 }
}



//工厂类
class   Factory{
  //传递不同的参数,获取不同的对象;
  public   static  function   create($num){
           switch($num){
           	   case  1:
           	   return  new  ProductA;
           	   case  2:
           	   return  new  ProductB;
           	   Default:
           	   return  null;
           }
     }

}
//测试
$objA=Factory::create(1);//传递不同的参数获取不同的对象;
$objB=Factory::create(2);
var_dump($objA->getName(),$objB->getName());

  


以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式-简单工厂工厂方法模式抽象工厂模式详解

C++工厂模式(简单工厂工厂方法抽象工厂)