标准工厂方法设计模式涉及 4 个类。Creator,Product n 他们的具体实现。
因此,对于每个产品,我们需要实例化相应的工厂,该工厂具有创建产品的方法。
但我也看到过人们将构造函数声明为私有并拥有创建同一类对象的静态方法的场景。类似于我们对单例所做的事情。
例如 getByname 是 InetAddress 的静态方法之一,它根据参数返回其子类之一。人们称之为工厂方法。
这也是工厂方法模式的一个例子吗?它是否在方法中包含 if-else-if 来解码参数或 switch 语句?但是使用 switch n 条件语句不被认为是糟糕的 OO 设计实践吗?