设计模式学习-简单工厂模式(阅读大话设计模式有感)

181 阅读1分钟

简单工厂模式在很多框架中也是有运用的例如spring中的IOC就是有工厂模式去实例化bean的。今天就通过简单例子现理解工厂模式。 在我所理解的工厂模式就是将在程序运行的时候我们所需要的Bean通过工厂去获取。

简单运算器的实现

  1. 工厂模式的基本实现 我们通过工厂去实例化我们需要的操作类,然后我们再通过具体的操作类去操作我们的具体算法。这样做的好处就是在我们需要增加操作的时候我们可以通过去继承Opreation类然后重写里面的方法实现我们需要的具体运算过程,在此过程我们降低了程序的耦合度。这里也借助了多态去处理。我们首先通过工厂去实例化具体的操作,然后通过多态再去实现具体的算法。
public class OperationFactory {
    public static Opreation createOpreate(String opre){
        Opreation opreate = null;
        switch (opre){
            case "+":
                opreate = new OperationAdd();
                break;
            case "-":
                opreate = new OperationSub();
                break;
            case "*":
                opreate = new OperationMul();
                break;
            case "/":
                opreate = new OperationDiv();
                break;
        }
        return opreate;
    }
}

image.png 2. IOC中的工厂模式 IOC中的设计方式就是有一个顶层BeanFactory接口里面的方法有getBean()去获取实例。但是我们在运用是基本都是使用ApplicationContext,因为它的功能相对于BeanFactory功能更加强大。 image.png

在此之前我也曾了解过ICO的运行机制问题,首先通过配置文件将其Bean信息加载于Bean注册表中,然后再将bean实例化出来放于Bean缓存池中,然后就可愉快的运用bean了。

image.png