简单工厂模式 (SimpleFactory)
实现要点:工厂有一个方法createProduct()可以生产抽象product的不同具体产品。每个具体产品可以需要不同的标识。
public static Operation createOperate(string operate) { Operation 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; } }
工厂方法模式 (Factory Method)
GOF意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。(一个具体工厂创建一个具体产品)
角色:
抽象工厂(Creator)角色:提供factorymethod()方法用于创建产品
具体工厂(Concrete Creator)角色:实现facorymethod()创建具体的产品
抽象产品(Product)角色:
具体产品(Concrete Product)角色:具体产品与某一个具体工厂对应。
实现要点:
一个具体工厂生产一个具体产品。
抽象工厂模式(Abstract Factory)
GOF意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
角色:
AbstractFactory抽象工厂:抽象工厂提供,生产A产品和B产品的接口
concreteFactory1具体工厂:具体工厂1生产具体的产品A1和具体B1
AbstractProductA抽象产品A:
prroductA1具体产品A1;
AbstractProductB抽象产品B:
prroductB1具体产品B1;
实现要点:
一般A产品和B产品是一个大产品的不同组件。例如组成电脑的键盘与鼠标。
三者区别如图:
相关推荐
这时,可以考虑使用更高级的工厂模式,如AbstractFactory(抽象工厂)或者FactoryMethod(工厂方法)。 在压缩包文件`SimpleFactory`中,很可能包含了实现上述结构的Java源代码文件,包括`Car`接口或抽象类、具体的...
抽象工厂模式(Abstract Factory Pattern)是工厂方法模式的进一步抽象和扩展,它为创建一组相关的或相互依赖的对象提供一个统一的接口,而不需要指定它们的具体类。这种模式适用于当系统需要创建一系列相关或相互...
3. **抽象工厂(Abstract Factory)**: 抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。它允许客户端创建一个产品族,其中每个产品都是同一类别中的一个实例,如创建GUI组件...
### 抽象工厂(Abstract Factory) 抽象工厂模式是一种为创建一组相关或相互依赖的对象提供一个共同接口的设计模式。它允许客户端不指定产品的具体类,而只依赖于一个公共的工厂接口。抽象工厂模式通常包括以下角色...
2. **工厂方法模式(Factory Method)** 工厂方法模式将对象的创建委托给子类来决定。在C#中,你可以定义一个抽象基类,包含一个抽象的工厂方法,然后为每种产品创建一个具体的子类,每个子类实现工厂方法来创建...
2、工厂方法模式(Factory Method Pattern): 工厂方法模式定义了一个创建对象的接口,由子类决定要实例化的类是哪一个。工厂方法使一个类的实例化延迟到其子类。 3、抽象工厂模式(Abstract Factory Pattern): ...
Factory模式通常分为简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)三种主要类型。 1. **简单工厂**:这是最简单的形式,它包含一个静态方法,根据传入的参数返回特定类型...
- **工厂方法模式(Factory Method)**:将产品类的实例化延迟到子类,每个子类对应一种产品,工厂方法模式遵循了开闭原则,易于扩展。 - **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互依赖...
2. **工厂方法模式(Factory Method Pattern)**:定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 3. **抽象工厂模式(Abstract Factory Pattern)**:提供一个创建一系列...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 **1. 简单工厂模式(Simple Factory)** 简单工厂模式中,有一个中心工厂类负责创建对象。这个工厂类通常由一个静态方法构成,根据传入的...
2. **工厂方法模式(Factory Method)**:用于处理不同类型的对象创建过程,提供了一种接口来创建一系列相关或相互依赖的对象。 3. **抽象工厂模式(Abstract Factory)**:不仅关注单一类别的对象创建,还关注一...
2. 工厂方法模式(Factory Method Pattern) 工厂方法模式将对象的创建过程延迟到子类,工厂角色由抽象工厂类定义,具体的对象创建由各个具体工厂类实现。这样,当需要添加新产品时,只需要新增一个具体的工厂类,而...
2. **工厂方法模式(Factory Method Pattern)**: - 工厂方法模式将对象的创建委托给子类。在抽象工厂类中定义一个创建产品的方法,但不实现,而是由具体的子类去实现。这样,当需要创建新产品时,只需要添加新的...
2. **工厂方法模式(Factory Method Pattern)**:定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。在C++中,这可能表现为一个抽象基类(接口)定义了一个纯虚函数,每个具体的...
工厂模式有三种形式:简单工厂(Simple Factory)模式、工厂方法(Factory Method)模式和抽象工厂(Abstract Factory)模式。 二、简单工厂模式 2.1 简单工厂模式介绍 简单工厂模式(Simple Factory Pattern)又...
2. **工厂方法模式(Factory Method)**:将对象的创建过程进一步抽象,通过接口或抽象类定义工厂方法,由子类具体实现创建哪种产品。 3. **抽象工厂模式(Abstract Factory)**:在多个相关的产品族中,为每一种产品...
1. 简单工厂模式(Simple Factory Pattern):也称为静态工厂方法模式,通过一个静态方法来创建对象,该静态方法根据传入的参数返回不同的实例。 2. 工厂方法模式(Factory Method Pattern):属于多态性设计模式,...
工厂方法模式将对象的创建委托给子类,使得创建过程可以延迟到子类中进行。在C++中,这通常通过定义一个抽象基类(包含工厂方法),然后由不同的派生类实现具体的工厂方法。例如,`FactoryMethodPattern.cpp`和`...
2. **工厂方法模式(Factory Method)**: 工厂方法模式将对象的创建委托给子类决定,提供一个创建对象的抽象方法,由子类决定实例化哪一个类。这种模式比简单工厂模式更具有扩展性,因为增加新的产品类型时,只...