最近重拾设计模式看了看,给自己总结一下!大家也瞧瞧
首先简单工厂模式.
可以理解为将一组对象的共性抽象出来一个抽象类作为父类.
假设A1,B1,C1三个类,将他们的共同行为,共同属性提取出来!
抽象出一个抽象类带一个抽象方法.
将A1....都继承这个抽象类(继承当然要重写抽象方法)
现在做工厂类
设计模式的目的无非是降低耦合,代码重用,方便维护扩展
首先简单工厂模式.
可以理解为将一组对象的共性抽象出来一个抽象类作为父类.
假设A1,B1,C1三个类,将他们的共同行为,共同属性提取出来!
抽象出一个抽象类带一个抽象方法.
public abstract class Operation {
//定义2个变量
private double _numberA=0;
private double _numberB=0;
public double get_numberA() {
return _numberA;
}
public void set_numberA(double numberA) {
_numberA = numberA;
}
public double get_numberB() {
return _numberB;
}
public void set_numberB(double numberB) {
_numberB = numberB;
}
//定义抽象,方便子类重写
public abstract double GetResult() throws Exception;
}
将A1....都继承这个抽象类(继承当然要重写抽象方法)
public class OperationAdd extends Operation {
//加法运算类,继承操作类!重写方法
@Override
public double GetResult() {
return super.get_numberA()+super.get_numberB();
}
}
现在做工厂类
public class OperationFactory {
public static Operation createOperate(String op) {
//这里定义oper为一个抽象类
Operation oper = null;
//以下为工厂
if (op.equals("+")) {
oper = new OperationAdd();
} else if (op.equals("-")) {
oper = new OperationSub();
} else if (op.equals("*")) {
oper = new OperationMul();
} else if (op.equals("/")) {
oper = new OperationDiv();
}
return oper;
}
}
设计模式的目的无非是降低耦合,代码重用,方便维护扩展