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);
    }
}

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

原文地址:https://www.cnblogs.com/zhuxiansheng/p/7873161.html