以前只是看设计模式,每次看完都去理解一次,并没有手动去写代码,所以理解的还不是很深刻,最近查看框架源码,发现很多地方用到的都是设计模式,因为对设计模式理解的不够深刻,所以源码查看进度很慢!现在决定来温故设计模式
上面是引用大话设计模式的类图以下是java代码,这里为了简洁只写加减法两个。
/**
* 运算类接口
*/
public interface IOperation { public Double getResult(Double numberA, Double numberB);
}
/**
* 运算类工厂
*/
public class OperationFactory { public IOperation createOperation(String code) {
IOperation operation = null;
switch (code) {
case "+":
operation = new Add();
break;
case "-":
operation = new Sub();
break;
default:
break;
}
return operation;
}
}
/**
* 加法
*/
public class Add implements IOperation { @Override
public Double getResult(Double numberA, Double numberB) {
return numberA + numberB;
} }
/**
* 减法
*/
public class Sub implements IOperation{
@Override
public Double getResult(Double numberA, Double numberB) {
return numberA - numberB;
}
}
/**
* 测试类
*/
public class Test { public static void main(String[] args) {
// 创建工厂
OperationFactory factory = new OperationFactory();
// 获取具体实现
IOperation operation = factory.createOperation("+");
// 获取结果
Double result = operation.getResult(1d, 2d); System.out.println(result);
}
}
这里巩固自己对设计模式的理解,同时也希望能帮助其他童鞋理解简单工厂模式!