`
sunshine_beach
  • 浏览: 1542 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

一、工厂模式

阅读更多
工厂模式包括:静态工厂模式、工厂方法模式和抽象工厂模式。

一、工厂模式的主要作用是为创建对象提供过渡的接口,以便将创建对象的具体细节隐藏起来,使得代码统一,替换灵活,易于扩展。

1、静态工厂模式又叫简单工厂模式,它由三部分组成:

1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由
一个具体类实现。
2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽
象类来实现。
3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。

2、工厂方法模式

工厂方法模式去掉了简单工厂模式中工厂方法的静态属性,使得它可以被子类继承。这
样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分
担。
你应该大致猜出了工厂方法模式的结构,来看下它的组成:
1) 抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须
实现的接口或者必须继承的父类。在java 中它由抽象类或者接口来实现。
2) 具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体
产品的对象。
3) 抽象产品角色:它是具体产品继承的父类或者是实现的接口。在 java 中一般有抽象类
或者接口来实现。
4) 具体产品角色:具体工厂角色所创建的对象就是此角色的实例。在 java 中由具体的类
来实现。

3、抽象工厂模式

可以说,抽象工厂模式和工厂方法模式的区别就在于需要创建对象的复杂程度上。而且
抽象工厂模式是三个里面最为抽象、最具一般性的。
抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象
而且使用抽象工厂模式还要满足一下条件:
1) 系统中有多个产品族,而系统一次只可能消费其中一族产品。
2) 同属于同一个产品族的产品以其使用。
来看看抽象工厂模式的各个角色(和工厂方法的如出一辙):
1) 抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须
实现的接口或者必须继承的父类。在java 中它由抽象类或者接口来实现。
2) 具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体
产品的对象。在java 中它由具体的类来实现。
3) 抽象产品角色:它是具体产品继承的父类或者是实现的接口。在 java 中一般有抽象类
或者接口来实现。
4) 具体产品角色:具体工厂角色所创建的对象就是此角色的实例。在 java 中由具体的类
来实现。
分享到:
评论

相关推荐

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

    工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...

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

    在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...

    Java设计模式之一工厂模式

    **Java设计模式之一:工厂模式** 工厂模式是软件设计模式中的创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它只需要向工厂请求其创建所需的对象类型,而无需知道...

    Javascript面向对象设计一 工厂模式.docx

    本文主要探讨的是工厂模式,这是面向对象设计中的一种常用模式,用于抽象对象的创建过程。 ### 工厂模式的基本概念 工厂模式的核心思想是通过一个工厂函数来创建对象,而不是直接new一个特定的构造函数。这样做的...

    模式之一工厂模式-------------------------

    工厂模式是设计模式中的一种基础模式,它在Java编程中占据着重要的地位,尤其对于初学者来说,理解和掌握它是至关重要的。工厂模式属于创建型设计模式,它的主要目的是通过提供一个统一的接口来创建对象,使得客户端...

    简单工厂模式、工厂模式、抽象工厂模式案例(C++实现)

    工厂模式是其中最常用的一种,它提供了创建对象的最佳方式。在这个压缩包中,包含了三种工厂模式的C++实现:简单工厂模式、工厂方法模式以及抽象工厂模式。让我们一一探讨这些模式。 1. 简单工厂模式: 简单工厂...

    工厂模式源代码

    工厂模式是软件设计模式中的一种,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当我们创建对象时,不会直接实例化具体的产品类,而是通过一个共同的接口或者抽象类,即工厂类来创建。这样做的...

    设计模式单例模式和工厂模式综合应用

    **工厂模式**是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品时,工厂类会负责创建这个产品。这样做的好处是隐藏了对象创建的复杂性,客户端只需要知道如何获取产品...

    抽象工厂模式+工厂方法模式+策略模式+类图实现手机加工厂

    本文将探讨三个重要的设计模式:抽象工厂模式、工厂方法模式以及策略模式,并结合一个实际的场景——手机加工厂,来具体阐述它们的应用。 首先,我们来看**抽象工厂模式**。这个模式主要用于创建相关或依赖对象的...

    工厂方法模式和抽象工厂模式的区别

    而抽象工厂模式则更注重于创建一系列相关的产品,提供一个接口来创建一个完整的产品族,使得客户可以得到一组协调一致的产品。这两种模式在实际开发中都有广泛的应用,选择使用哪种模式取决于具体的需求和场景。

    JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)

    **简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...

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

    在软件设计模式中,工厂模式是一种非常常用的行为型模式,它的主要目的是为了隔离对象的创建过程,使得客户端代码不直接创建对象,而是通过一个工厂类来负责对象的创建。这样可以使得系统更具可扩展性和可维护性。...

    qt工厂模式例子qt简单工程模式源码

    参考如下博客,亲自实践了一个QT的工厂模式,亲测可用,编译运行实测。 我用qt5.6,在windows下编译并运行测试,正常。 https://blog.csdn.net/baidu_33570760/article/details/71159808 1. Qt工厂模式源码 2. C++...

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

    在软件设计模式中,工厂模式是一种非常基础且实用的模式,它主要用来解决对象创建的问题,使得代码在面对多种产品类时保持灵活和解耦。本文将深入探讨三种工厂模式:简单工厂模式、工厂方法模式以及抽象工厂模式,并...

    抽象工厂模式+反射技术(抽象工厂模式+简单工厂模式)

    抽象工厂模式是设计模式中的一种,它提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。在软件工程中,当系统需要在运行时选择不同的产品族时,或者想要隔离具体产品的实现细节时,抽象工厂...

    工厂模式 经典实战案例 一看就能学会工厂模式

    工厂模式是一种设计模式,它是创建型模式的一种,主要用于解决对象创建的问题。在软件工程中,当我们需要创建一系列相关或相互依赖的对象时,而不希望指定具体的类,工厂模式就能派上用场。工厂模式通过提供一个创建...

    c#工厂模式——简单工厂,抽象工厂,单件模式实例

    在软件设计模式中,工厂模式是一种非常常见的创建型模式,它提供了一种创建对象的最佳方式。C#中的工厂模式分为简单工厂、抽象工厂和单例模式三种,每一种都有其特定的应用场景和优势。 1. **简单工厂模式**: ...

    设计模式之一 3种工厂模式解析源码

    在软件设计领域,工厂模式是一种广泛应用的设计模式,它属于创建型模式,主要目的是为了封装对象的创建过程,使得客户端代码可以使用一个统一的接口来创建不同的对象,而无需关心具体的实现细节。工厂模式分为三种...

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

    抽象工厂模式会定义一个工厂接口,然后为每个平台提供一个具体的工厂实现,这些实现能创建出适合该平台的所有相关组件。 工厂方法模式与抽象工厂模式的主要区别在于: 1. **复杂度**:工厂方法模式只关注一个产品的...

Global site tag (gtag.js) - Google Analytics