初步接触设计模式,菜鸟一枚,此文章仅作为学习笔记记录,仅作设计模式敲门石。
直接上样例代码:
Operation.java
package com.ai.data.config.smo;
public class Operation {
public int getResult(int firstNum,int secondNum) {
return 0;
}
}
package com.ai.data.config.smo;
public class OperationAdd extends Operation{
public int getResult(int firstNum,int secondNum) {
return firstNum + secondNum;
}
}
OperationSub.java
package com.ai.data.config.smo;
public class OperationSub extends Operation{
public int getResult(int firstNum,int secondNum) {
return firstNum - secondNum;
}
}
SimpleOperationFactoryBean
package com.ai.data.config.smo;
/**
* 第一个设计模式例子,入门工厂模式
* 总结:工厂模式,即从业务实现类中抽离出实例对象创建,交由
* 专门的FactoryBean负责创建实例对象
* @author sww
*
*/
public class SimpleOperationFactoryBean {
public static Operation createOperation(String type){
Operation operation = null;
if("+".equals(type)){
operation = new OperationAdd();
}else if("-".equals(type)){
operation = new OperationSub();
}
return operation;
}
}
Test:
package com.ai.data.config.smo;
public class Test {
/**工厂模式测试
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleOperationFactoryBean SimpleOperationFactoryBean = new SimpleOperationFactoryBean();
Operation operationAdd = SimpleOperationFactoryBean.createOperation("+");
System.out.println("###2+1=" + operationAdd.getResult(1,2));
Operation operationSub = SimpleOperationFactoryBean.createOperation("-");
System.out.println("###2-1=" + operationSub.getResult(2,1));
}
}
测试结果
总结:例子很简单,工厂模式就是把实例对象创建从代码中移出来给一个专门的工厂类来创造,不在类里面自己new。
设计模式四点核心思想。
1:可维护
2:可复用
3:可拓展
4:够灵活
这里体现的我理解就是灵活性好,有点像切面编程代码复用。