Java中如何实现工厂方法模式?

2026-05-29 13:322阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2090个文字,预计阅读时间需要9分钟。

Java中如何实现工厂方法模式?

定义+工厂方法模式定义了一个创建对象的接口,但由子类决定实例化哪一个类。工厂方法让类把实例化推迟到子类。

UML类图+说明+Product:所有产品都必须实现这个共同的接口。


定义

工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例推迟到子类。

UML类图

说明

Prouduct:所有的产品都必须实现这个共同的接口,并实现多态

Creator:它是一个类,实现了所有操纵产品的方法,但不实现工厂方法,并且所有的它的子类都必须实现这个抽象的factoryMethod()方法。

ConcreteCreator:它必须实现factoryMethod(),以实际制造出产品,并且它负责创建一个或多个具体产品,只有ConcreteCreator类知道如何创建这些产品。

事例

上一次的简单工厂,以一个披萨店为例;这里同样如此,说明它如何从一个简单工厂扩展为工厂方法模式;

这里,披萨店要开分店

纽约披萨店:奶酪、蛤蜊、意式辣肠、蔬菜等类型的披萨

芝加哥披萨店:奶酪、蛤蜊、意式辣肠、蔬菜等类型的披萨

两种店都供应这些披萨,但同种名称的披萨的细节却不同,每家店都供应其独特的披萨。

阅读全文

本文共计2090个文字,预计阅读时间需要9分钟。

Java中如何实现工厂方法模式?

定义+工厂方法模式定义了一个创建对象的接口,但由子类决定实例化哪一个类。工厂方法让类把实例化推迟到子类。

UML类图+说明+Product:所有产品都必须实现这个共同的接口。


定义

工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例推迟到子类。

UML类图

说明

Prouduct:所有的产品都必须实现这个共同的接口,并实现多态

Creator:它是一个类,实现了所有操纵产品的方法,但不实现工厂方法,并且所有的它的子类都必须实现这个抽象的factoryMethod()方法。

ConcreteCreator:它必须实现factoryMethod(),以实际制造出产品,并且它负责创建一个或多个具体产品,只有ConcreteCreator类知道如何创建这些产品。

事例

上一次的简单工厂,以一个披萨店为例;这里同样如此,说明它如何从一个简单工厂扩展为工厂方法模式;

这里,披萨店要开分店

纽约披萨店:奶酪、蛤蜊、意式辣肠、蔬菜等类型的披萨

芝加哥披萨店:奶酪、蛤蜊、意式辣肠、蔬菜等类型的披萨

两种店都供应这些披萨,但同种名称的披萨的细节却不同,每家店都供应其独特的披萨。

阅读全文