以前只是看设计模式,每次看完都去理解一次,并没有手动去写代码,所以理解的还不是很深刻,最近查看框架源码,发现很多地方用到的都是设计模式,因为对设计模式理解的不够深刻,所以源码查看进度很慢!现在决定来温故设计模式
上面是引用大话设计模式的类图以下是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); } }
这里巩固自己对设计模式的理解,同时也希望能帮助其他童鞋理解简单工厂模式!