`
newleague
  • 浏览: 1492832 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

简单工厂模式-《java与模式》

阅读更多

缺点:

1、工厂类成为全能类,一旦不能工作,系统受到影响

2、当产品类有不同的接口种类时,工厂类需要判断什么时候创建某种产品,在将来进行功能扩展时困难。

3、使用静态方法作为工厂方法,而静态方法无法由子类继承,因此,工厂角色无法形成基于继承的等级结构。

 

后两种在工厂方法模式中得到克服。

 

这个模式的优点是允许客户端相对独立于产品创建的过程,并且在系统引入新产品的时候无须修改客户端,也就是说,它在某种程度上支持“开-闭”原则。

 

缺点是对“开-闭”原则的支持不够,因为如果有新的产品加入到系统中去,就需要修改工厂类,将必要的逻辑加入到工厂类中。

 

工厂模式有简单工厂模式、工厂方法模式、抽象工厂模式。

 

DateFormat

这里使用静态工厂方法,是为了将具体子类实例化的工作隐藏起来,从而客户端不必考虑如何姜具体子类实例化,因为抽象类DateFormat会提供它的合适的具体子类的实例。

 

 

                        抽象产品

                             ^

                             |

                             |

               创建        |

工厂     -------->  具体产品 

 

 

                                                   interface

                                                    Product

                                                        ^

                                                         |

Creator                      Creates        ConcreteProduct

+factory:Product      ------------>   +ConcreteProduct

分享到:
评论

相关推荐

    计算机后端-Java-图解java设计模式047 工厂模式-JD.avi

    计算机后端-Java-图解java设计模式047 工厂模式-JD.avi

    设计模式-Java语言中的应用

    设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...

    简单的工厂模式实现-java

    本资源提供的"简单的工厂模式实现-java"是用Java语言实现的一个基本的工厂模式示例。下面将详细阐述工厂模式的核心概念、结构以及在Java中的应用。 首先,工厂模式遵循“开闭原则”,即对扩展开放,对修改关闭。它...

    简单工厂模式源码-JAVA

    在Java编程中,简单工厂模式通过一个公共的工厂类来创建对象,这样客户端只需要知道产品类型,而无需了解如何创建这些产品,提高了代码的可维护性和灵活性。 在简单工厂模式中,有三个主要角色: 1. **产品接口或...

    设计模式-工厂模式 Java源码

    在Java编程语言中,工厂模式通常分为简单工厂模式、工厂方法模式和抽象工厂模式三种类型。这些模式都是围绕着一个中心思想:将对象的实例化过程封装起来,使代码更加灵活且易于维护。 1. **简单工厂模式**: 简单...

    工厂模式(简单工厂,普通工厂,抽象工厂)代码java

    工厂模式分为三种主要类型:简单工厂模式、普通工厂模式(也称为工厂方法模式)和抽象工厂模式。 1. **简单工厂模式**: - 简单工厂模式中,有一个中心工厂类,它负责根据输入条件(通常是一个参数)来创建具体的...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...

    设计模式--工厂模式java例子

    这里我们主要探讨基于Java的例子,即简单工厂模式。 简单工厂模式的核心思想是定义一个工厂类,这个类负责创建对象,而客户端代码不再直接创建对象,而是调用工厂类的静态方法来获取所需对象。这样做可以隔离类的...

    简单工厂模式-计算器

    在"简单工厂模式-计算器"这个例子中,我们看到的是一个基于Java实现的计算器应用,它可能包含了如何运用简单工厂模式来构建一个计算器的实例。在这个场景下,我们可以深入探讨以下几个方面: 1. **简单工厂方法**:...

    JAVA设计模式例程-工厂模式-1

    此外,还可以进一步研究简单工厂、工厂方法和抽象工厂这三种不同类型的工厂模式,了解它们之间的区别和适用场景。设计模式的学习对于提升软件设计能力至关重要,希望这个例子能帮助你在理解工厂模式的道路上更进一步...

    Java设计模式教程 - Java设计模式 - 工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式**: 简单工厂模式有一个中心工厂类,它负责根据输入条件创建具体的对象。这种模式适用于产品种类较少且不会频繁扩展的...

    抽象工厂模式--演示代码

    总结来说,"JAVA抽象工厂模式--演示代码"将展示如何在Java中应用这一模式,通过创建和使用抽象工厂,来实现对象族的动态创建,同时保持代码的松耦合和可扩展性。测试用例则会验证这些功能是否按照预期工作。

    java设计模式-简单工厂模式示例

    在Java编程中,简单工厂模式通过一个中心工厂类来负责创建相关的对象,而无需让客户端代码直接new具体的产品类。这种方式提高了代码的可读性和可维护性,降低了系统的耦合度。 首先,我们来看一下简单工厂模式的...

    抽象工厂模式 - 代码(Java)

    在Java中,我们可以用类和接口来实现抽象工厂模式。 首先,我们定义一个抽象工厂接口,比如`AbstractFactory`,它声明了一系列创建产品的方法,这些产品是相互关联或依赖的。例如: ```java public interface ...

    设计模式-简单工厂模式-例题

    ### 设计模式——简单工厂模式解析与应用实例 #### 一、简单工厂模式概述 简单工厂模式(Simple Factory Pattern)是一种常用的创建型设计模式。它提供了一种方式来封装对象的创建过程,使得整个系统更加灵活,...

    简单工厂模式-策略模式-反射源码下载

    简单工厂模式、策略模式以及反射是Java编程中非常重要的概念,它们都是软件设计模式和语言特性的典型应用,对于理解和构建高效、可扩展的代码至关重要。 简单工厂模式是一种创建型设计模式,它提供一个工厂方法,...

    1.java设计模式-创建者模式-简单工厂模式.pdf

    简单工厂模式是Java设计模式中创建型模式的一种,也被称为静态工厂方法模式。该模式的主要思想是由一个专门的工厂类来负责创建其他类的实例。简单工厂模式通过封装创建对象的过程,使得调用者无需关心对象的具体创建...

    设计模式-抽象工厂-Java 源码

    在Java编程中,抽象工厂模式通常包括以下几个关键角色: 1. 抽象工厂(Abstract Factory):这是抽象接口,定义了创建一组相关或相互依赖对象的接口,而不必指定它们的具体类。 2. 具体工厂(Concrete Factory):...

    JAVA设计模式例程-工厂模式-2

    在Java中,工厂模式可以帮助我们解耦代码,使得客户端代码与实际创建的对象类无关,只需要知道它们是哪种类型的对象即可。 工厂模式分为三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。在这个例程中,我们将...

Global site tag (gtag.js) - Google Analytics