面向对象设计模式-简单工厂模式
参考书籍:大话设计模式 程杰 著
一,UML结构图
二,定义:
用一个单独的类来实现创造实例的过程,这就是工厂,解决将来会不会增加实例化的对象问题
三,代码示例:
// 运算类
class Operation{
private double _numberA = 0;
private double _numberB = 0;
public double getNumberA(){
return _numberA;
}
public double getNumberB(){ return _numberB;
}
public double setNumberA(double _numberA){
this.numberA = _numberA;
}
public double setNumberB(double _numberB){
this.numberB = _numberB;
}
public double getResult(){double result = 0;
return result;
}
}
// 具体运算类
class OperationAdd extends Operation{
public double getResult(){
double result = 0;
result = _numberA + _nunmberB
return result;
}
}
class OperationSub extends Operation{
public double getResult(){
double result = 0;
result = _numberA - _nunmberB
return result;
}
}
class OperationMul extends Operation{
public double getResult(){
double result = 0;
result = _numberA * _nunmberB
return result;
}
class OperationDiv extends Operation{
public double getResult(){
double result = 0;
if(_nunmberB == 0){
throw new Exception("除数不能为0。");
}
result = _numberA / _nunmberB
return result;
}
// 简单运算工厂类
public class OperationFactory(){
public Operation createOperation(String operate){
Operation operation = null;
Switch(operate){
case "0":
operation = new OperationAdd();
break;
case "1":
operation = new OperationSub();
break;case "2":
operation = new OperatioMul();
break;case "3":
operation = new OperationDiv();
break; }
}
}