Design patterns 工厂方法模式的适用性
我对工厂方法模式感到困惑 以下代码来自“https://www.oodesign.com/factory-method-pattern.html" 这就是我困惑的地方:Design patterns 工厂方法模式的适用性,design-patterns,factory-method,Design Patterns,Factory Method,我对工厂方法模式感到困惑 以下代码来自“https://www.oodesign.com/factory-method-pattern.html" 这就是我困惑的地方: Creator creator = new ConcreteCreator(); 在该站点中,我们将此模式应用于两种情况 当一个类不能预测它应该创建的对象的类型时 当一个类希望它的子类是指定新创建对象类型的子类时 但是在客户端代码中,我们将“new”keword与concreator放在一起(我知道这是混凝土产品的混凝土工厂)
Creator creator = new ConcreteCreator();
在该站点中,我们将此模式应用于两种情况
有人能帮我吗?在工厂方法模式中,
客户机的角色是向抽象的创建者提供具体的产品
当抽象创建者
生活在第三方库中,并且每个客户机
都需要通过实现自己的子类来提供产品时,这一点最有意义。在这个场景中,客户机
正在实现一个它不拥有的抽象
如果工厂方法需要创建多个子类(即多个产品
s),则即使当客户机
拥有抽象时,工厂方法也很有用
如果客户机
拥有抽象,并且只有一个产品
,是的,客户机知道他想要创建什么具体类型(应该在代码中的某个地方做出这个决定),那么工厂方法就没有意义了。界面Creator
是一个关于如何创建产品的合同。从那时起,如果我们在具体的Creator中更改一些代码,比如,我们要求客户在这里输入一个参数,我们仍然需要更改客户代码。那么,在我们的程序中使用这种模式和只使用“new”关键字制作东西有什么区别呢?因为看起来使用这种模式没有什么好处。。。
Creator creator = new ConcreteCreator();