商城首页欢迎来到中国正版软件门户

您的位置:首页 >大话设计模式:简单工厂模式详解

大话设计模式:简单工厂模式详解

  发布于2025-06-30 阅读(0)

扫一扫,手机访问

最近有一位朋友向我推荐了一本书《大话设计模式》,这本书刚刚送到手上,我还没开始阅读,希望通过博文的方式与大家一起分享,一起学习。

简单工厂模式的核心思想是,将创建对象的过程封装在一个单独的类中,这样就可以通过这个类来实例化不同的对象。例如,如果我们需要增加开根运算等新的运算类型,我们只需要在这个类中进行扩展即可,这就是工厂模式的魅力所在。让我们来看看这个类的实现方法。

简单运算工厂类如下所示:

class OperationFactory {
    static createOperate(operate) {
        let oper = null;
        switch (operate) {
            case "+":
                oper = new OperationAdd();
                break;
            case "-":
                oper = new OperationSub();
                break;
            case "*":
                oper = new OperationMul();
                break;
            case "/":
                oper = new OperationDiv();
                break;
        }
        return oper;
    }
}

通过这个工厂类,我们只需要输入运算符号,工厂就会实例化出相应的运算对象。利用多态性,通过返回父类的方式,我们可以实现计算器的功能。

客户端代码的实现如下:

let oper;
oper = OperationFactory.createOperate("+");
oper.NumberA = 1;
oper.NumberB = 2;
let result = oper.GetResult();

无论你是编写控制台程序、Windows程序、Web程序、PDA还是手机程序,都可以使用这段代码来实现计算器的功能。如果有一天我们需要更改加法运算,我们只需要修改OperationAdd类即可。同样,如果我们需要增加其他复杂的运算,比如平方根、立方根、自然对数、正弦和余弦等,我们只需要增加相应的运算子类,并在工厂类的switch语句中增加新的分支即可。

不知不觉已经写到了结尾,这就是简单的工厂模式。以下是几个类的结构图,供大家参考。

大话设计模式之简单工厂模式

设计模式还有很多,期待后续的更新。

本文转载于:https://cloud.tencent.com/developer/article/1333836 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注