c#中的工厂与工厂方法模式

factory vs factory method pattern in c#

谁能帮我理解以下关于工厂方法模式的疑问?

我以 this link 为例。

1.what工厂方法模式中是否需要抽象class工厂?什么 如果使用正常 class?

2.It 声明代码中的更改不会影响客户端。但 如果添加了新的 class product3,则相应的 客户端代码也需要更改。(根据以下代码)。那么这种设计模式有什么优势呢?

3.What 是 objFactories[0] = new concreteFactoryforProduct1(); 优于 concreteFactoryforProduct1 factory = new concreteFactoryforProduct1();

的优势
    Factory[] objFactories = new Factory[2]; 
    objFactories[0] = new concreteFactoryforProduct1(); 
    objFactories[1] = new concreteFactoryforProduct2(); 
    foreach (Factory objFactory in objFactories) 

     { 
            Product objProduct = objFactory.GetProduct(); 
            objProduct.GetDetails(); 
        } 

4.Why我们不能在简单的设计模式中实现开闭原则吗?

(1) 根据抽象的最简单用法 类,添加抽象避免使用 new Factory() 创建实例。 (因为它没有意义,与动物和大象相同 -> 动物只是一种抽象,不存在称为动物的实体)

(2) 这只是一个演示。世界上没有用例来列出可用的工厂。

(3)例子中,是一个Factory数组,你的问题不适用。

(4) 我想你问的是不使用工厂方法模式的情况。可能有很多情况。您可以确定是否尝试实施它。