java 之 简单工厂模式(大话设计模式)

时间:2022-02-25 21:49:52

以前只是看设计模式,每次看完都去理解一次,并没有手动去写代码,所以理解的还不是很深刻,最近查看框架源码,发现很多地方用到的都是设计模式,因为对设计模式理解的不够深刻,所以源码查看进度很慢!现在决定来温故设计模式

java 之 简单工厂模式(大话设计模式)

上面是引用大话设计模式的类图以下是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);
}
}

 

这里巩固自己对设计模式的理解,同时也希望能帮助其他童鞋理解简单工厂模式!