工厂模式的作用: 创建一个实例化对象
工厂模式的优点: 给你的系统带来更大的可扩展性和尽可能少的修改量
例子:
<?php
4 class Calc{
5 public function calculate($num1,$num2,$operator){
6 try {
7 $result=0;
8 switch ($operator){
9 //......省略......
10 case '%':
11 $result= $num1%$num2;
12 break;
13 //......省略......
14 }
15 }catch (Exception $e){
16 echo "您输入有误:".$e->getMessage();
17 }
18 }
19 }
20 ?>
或者
public static Operation createOperate(string operate)
{
Operation oper = null;
switch (operate)
{
case "+":
{
oper = new OperationAdd();
break;
}
case "-":
{
oper = new OperationSub();
break;
}
case "*":
{
oper = new OperationMul();
break;
}
case "/":
{
oper = new OperationDiv();
break;
}
}
return oper;
}
} //写接口
在设计模式中,工厂模式有三种,即:简单工厂模式、工厂方法模式和抽象工厂模式。那么,为什么取名叫叫工厂呢?我们都知道,工厂是生产产品的地方。给这些设计模式取名工厂的意思也就是告诉大家,这三种模式其实就是为了生产产品(即创建对象)。而且,这三者之中,以简单工厂最为简单(有点废话了)。
那么,什么是简单工厂呢?简单工厂就是,告诉工厂我要生产的产品的名字,你给我生产出相应的产品出来(即告诉对象名,创建对象)。举个例子,有一个玩具工厂,有很多车间,可以生产狗,熊,猫三种玩具。那么,我们有如下定位: