工厂方法(Factory Method)
定义一个用于创建对象的接口,让子类决定实例哪一个类。
工厂方法使一个类的实例化延迟到其子类。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做。这个核心工厂则变为抽象工厂角色,仅负责给出工厂子类必须实现的接口,而不接触哪一产品创建的细节。
工厂方法模式可以用来允许系统不修改具体工厂角色的情况下引进新产品
在工厂方法模式中,一般都有一个平行的等级结构,抽象工厂对应抽象产品,具体工厂对应具体产品
// 水果工厂
public interface FruitGardener { // 工厂接口
public Fruit factory();
}
// 苹果工厂
public class AppleGardener implements FruitGardener { // 工厂方法
public Fruit factory() {
Fruit f = new Apple();
System.out.println("水果工厂成功创建一个水果:苹果!");
return f;
}
}
// 草莓工厂
public class StrawberryGardener implements FruitGardener { // /工厂方法
public Fruit factory() {
Fruit f = new Strawberry();
System.out.println("水果工厂成功创建一个水果:草莓!");
return f;
}
}
// 测试类(客户端)
public class TestApp {
private FruitGardener f1, f2, f3;
private Fruit p1, p2, p3;
private void test() {
// 实力化水果工厂
f1 = new AppleGardener();
f3 = new StrawberryGardener();
// 从水果工厂生产水果
p1 = f1.factory();
p3 = f3.factory();
}
public static void main(String args[]) {
TestApp test = new TestApp();
test.test();
}
}
- 大小: 28.4 KB
分享到:
相关推荐
创建型设计模式---工厂设计模式实现
抽象工厂模式是创建型设计模式的一种,它提供了一种创建对象族(一组具有相互依赖关系的对象)的方法,而无需指定具体类。这种模式的核心在于它允许客户端代码与具体实现细节解耦,使得更换一个产品族变得更为容易。...
JAVA-设计模式-创建型模式-工厂模式
抽象工厂模式是设计模式中的一种创建型模式,它提供了一个创建对象族的接口,而无需指定它们的具体类。在.NET开发中,这种模式常用于实现多数据库连接,比如连接到MySQL、SQL Server或Oracle等不同的数据库系统。...
工厂方法模式是面向对象设计模式中的一个创建型模式,它提供了一种封装对象创建过程的方式,使得具体的对象创建过程可以延迟到子类中进行。在C++编程中,工厂方法模式广泛应用于各种软件设计中,因为它能有效地解耦...
抽象工厂模式是创建型设计模式中的一种,用于创建一系列相关或相互依赖的对象,而无需指定其具体类。抽象工厂模式强调产品的系列,对于有多个产品等级结构的系统非常有用。在抽象工厂模式中,一个工厂负责创建多个...
工厂模式是面向对象设计中最为人熟知的设计模式之一,属于创建型模式,其主要目标是封装对象的创建过程,使得客户端无需关心对象的具体创建细节,只需通过工厂接口来获取所需的对象。 ### 1. 工厂模式的基本概念 ...
总结来说,工厂方法模式是一种创建型设计模式,它将对象的创建过程封装到单独的工厂类中,使得客户端无需知道具体的产品类,只依赖于工厂接口。结合反射机制和配置文件,工厂方法模式能够实现高度动态和可配置的对象...
简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,使得代码在创建对象时更加灵活,同时也隐藏了对象的创建细节。在这个模式中,一个专门的工厂类负责创建特定类型的对象,而...
"工厂方法"(Factory Method)是面向对象设计中的一种经典设计模式,它属于创建型模式,其主要目的是为了抽象产品的创建过程,使得具体的创建过程与使用产品的代码解耦。这个模式在《设计模式:可复用面向对象软件的...
C++设计模式-创建型模式-简单工厂模式源码
工厂方法(Factory Method)是面向对象设计模式中的一种,属于创建型模式。它定义了一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法让一个类的实例化推迟到子类。 **概念理解** 1. **工厂角色...
工厂方法模式是面向对象设计中的一种经典设计模式,属于创建型模式。在软件工程中,当我们需要创建一系列相关或相互依赖的对象时,而不希望指定具体的类,工厂方法模式提供了一个很好的解决方案。 工厂方法模式的...
"抽象工厂"是设计模式中的一种,属于创建型模式,它提供了一种创建对象族的接口,而无需指定它们的具体类。这个模式的核心在于隔离了产品对象的创建过程,使得系统对具体产品的依赖最小化,从而增强了系统的灵活性和...
首先,我们要理解设计模式的基本类型,包括创建型、结构型和行为型模式。创建型模式如单例模式(Singleton)、工厂模式(Factory Method)和抽象工厂模式(Abstract Factory),主要关注对象的创建过程,旨在减少类...
抽象工厂模式是一种创建型设计模式,它提供了一种方式来创建一组相关或相互依赖的对象,而不需要指定具体的类。该模式允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际产出的具体产品是什么。 在...
Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...
最新设计模式超级详解课程,课程深入浅出的探讨了设计模式总览,创建型模式、结构型模式、行为模式的技术教学堪称经典。Spring源码分析,web源码分析,Tomcat架构...├─day01-总览设计模式-07-创建型模式-工厂-工厂