`
raymond.chen
  • 浏览: 1436975 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

工厂方法模式(Factory Method Pattern)

阅读更多

一、定义

     工厂方法模式又称工厂模式,也叫虚拟构造器模式或者多态工厂模式。

     在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实例化哪一个类。

     在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了哪种具体产品类将被实例化这一细节。

     工厂方法模式的核心是一个抽象工厂类,各种具体工厂类通过抽象工厂类将工厂方法继承下来。

 

     ◎基于工厂角色和产品角色的多态性设计是工厂方法模式的关键。它能够使工厂可以自主确定创建何种产品对象,而如何创建这个对象的细节则完全封装在具体工厂内部。工厂方法模式之所以又被称为多态工厂模式,就正是因为所有的具体工厂类都具有同一抽象父类。

     ◎使用工厂方法模式的另一个优点是在系统中加入新产品时,无需修改抽象工厂和抽象产品提供的接口,无需修改客户端,也无需修改其他的具体工厂和具体产品,而只需要添加一个具体工厂和具体产品就可以了,这样,系统的可扩展性非常好。

 

二、应用情景

     1、类不知道自己要创建哪一个对象。

     2、类用它的子类来指定创建哪个对象。

     3、客户需要清楚创建了哪一个对象。

 

三、类图

  • 大小: 39.2 KB
分享到:
评论

相关推荐

    设计模式之“工厂方法模式[Factory Method Pattern]”

    今天我们要探讨的是设计模式中的一个经典成员——工厂方法模式(Factory Method Pattern)。工厂方法模式是创建型设计模式的一种,它提供了一种创建对象的最佳方式。 ### 一、什么是工厂方法模式? 工厂方法模式...

    创建型模式之工厂方法模式(Factory Method Pattern)

    1. 抽象工厂(Abstract Factory):这是工厂方法模式的核心接口,它声明了一组用于创建产品的公共方法。抽象工厂通常为抽象类或接口。 2. 具体工厂(Concrete Factory):实现了抽象工厂接口,提供具体的产品实例。...

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    5、工厂方法模式FACTORY METHOD PATTERN 6、抽象工厂模式ABSTRACT FACTORY PATTERN 7、门面模式FACADE PATTERN 8、适配器模式ADAPTER PATTERN 9、模板方法模式TEMPLATE METHOD PATTERN 10、建造者模式BUILDER ...

    Factory Method Pattern.rar【GoF的工厂方法模式(C#源码)】

    它们都是由不同的厂家生产的,这就是工厂方法模式(FactoryMethod)与前面所说的简单工厂模式(SimpleFactory)的差别。 实例: 多文档系统。我已经用C#的源码编程了:请下载Factory Method Patter.rar

    c++-深入浅出讲解一下 “工厂方法模式 (Factory Method)”

    工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定实例化哪一个具体类。这样,客户端代码就不需要知道具体的类是什么,只需通过工厂接口获取对象。 工厂...

    FactoryMethodPattern.zip

    在"FactoryMethodPattern"的压缩包文件中,我们可以预期包含以下内容: - 示例代码:展示了如何在Swift或Objective-C中实现工厂方法模式。可能包含抽象产品接口、具体产品类、抽象工厂接口和具体工厂类的定义,以及...

    [创建型模式] head first 设计模式之工厂模式(Factory)

    在实际应用中,工厂方法模式有以下优点: - **封装变化**:当需要添加新产品或更换产品实现时,只需要增加新的具体产品类和对应的具体工厂类,无须修改原有代码,符合开闭原则。 - **多态性**:通过工厂方法,客户端...

    【Java设计模式-源码】Factory Method Pattern in Java: 使用多态制造增强灵活性

    学习Java中的工厂方法模式,探索示例、用途、好处以及它如何增强代码的灵活性和可维护性。 **二、别名** * Virtual Constructor **三、Factory Method设计模式的意图** 使用工厂方法模式定义一个用于创建对象的...

    工厂方法模式源文件

    通过阅读和分析源文件`FactoryMethod`,我们可以深入理解工厂方法模式的实现细节,例如工厂类如何创建产品对象,产品对象如何通过接口或抽象类进行交互等。这对于学习和应用设计模式,以及提高代码的可维护性和扩展...

    C#版 24种设计模式

    工厂方法模式(Factory Method Pattern) 观察者模式(Observer Pattern) 建造者模式(Builder Pattern) 解释器模式(Interpreter Pattern) 命令模式(Command Pattern) 模板方法模式(Template Method Pattern) 桥接模式...

    Factory_Method&&Simple_Factory

    工厂方法模式(Factory Method Pattern)是设计模式中的创建型模式之一,主要解决对象创建过程中的复杂性问题。在软件工程中,当一个类不知道它所必须创建的对象的类的时候,它就不会实例化对象,而是使用一个工厂...

    工厂方法模式源代码

    工厂方法模式(Factory Method Pattern)是设计模式中的创建型模式之一,它定义了一个创建对象的接口,但允许子类决定实例化哪一个类。这个模式使类的实例化延迟到了子类,也就是所谓的“多态性工厂”。在Java中,...

    简单工厂模式,工厂方法模式,抽象工厂模式

    工厂方法模式(Factory Method Pattern)是面向对象的设计模式,它定义了一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。这样,工厂方法将实例化操作推迟到子类中,实现了对类的抽象,提高了代码的...

    C# 工厂模式开发示例,详细展示三种工厂模式

    2、工厂方法模式(Factory Method Pattern): 工厂方法模式定义了一个创建对象的接口,由子类决定要实例化的类是哪一个。工厂方法使一个类的实例化延迟到其子类。 3、抽象工厂模式(Abstract Factory Pattern): ...

    工厂方法模式和抽象工厂模式

    在软件设计模式中,工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern)是两种常用的创建型设计模式,它们都属于“工厂”家族,但有着不同的应用场景和目标。 工厂方法模式的核心...

    用工厂方法模式重构简易计算器 源代码+实验报告

    工厂方法模式(Factory Method Pattern)是面向对象设计模式的一种,它在实际开发中有着广泛的应用。本项目通过工厂方法模式重构简易计算器,旨在展示这种模式在实现基本计算功能时的优势。 首先,我们要理解工厂...

    简单工厂模式和工厂方法模式

    回到提供的代码文件,`FactoryMethodPattern.cpp`和`FactoryMethodPattern.h`可能是实现工厂方法模式的C++代码。通常,`.cpp`文件包含具体的函数实现,而`.h`文件则定义了相关的类和接口。在这些文件中,我们可能会...

    软件设计之工厂方法模式,源代码

    工厂方法模式(Factory Method Pattern)是一种常用的面向对象设计模式,属于创建型模式之一。它提供了一种创建对象的最佳方式。在工厂方法模式中,我们定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。...

    05_FactoryMethodPattern 雷锋工厂方法

    NULL 博文链接:https://rich8w.iteye.com/blog/464344

Global site tag (gtag.js) - Google Analytics