`
隐形的翅膀
  • 浏览: 498430 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

抽象工厂与工厂方法模式

 
阅读更多
1.如果一个后花园只种蔬菜类,那么就用简单工厂就可以了.
2.如果后花园蔬菜品种繁多.得用工厂方法才可以,把共有的东西抽象出来.
3.如果要扩大后花园的规模,比如一个在北方,一个在南方,这样工厂方法就无法实现了,就应当用抽象工厂,把各种各样的植物,又组成一个后花园.

简单工厂是一个工厂只生产一类的产品,面对的是具体的类,

工厂方法是可以生产不同的产品,把公共的方法抽象出来,然后进行创建各种各样的产品.

抽象工厂把几种产品划出共同的东西,把相互依赖的对象抽象出来,只要实现这些接口就可以得到不同的产品.

工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。  
一个抽象工厂类,可以派生出多个具体工厂类。  
每个具体工厂类只能创建一个具体产品类的实例。

抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。  
一个抽象工厂类,可以派生出多个具体工厂类。  
每个具体工厂类可以创建多个具体产品类的实例。  
   
区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。  
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
分享到:
评论

相关推荐

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

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

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

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

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

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

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

    与工厂方法模式相比,抽象工厂模式更进一步,它提供了创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。在抽象工厂模式中,不只一个产品类被创建,而是有一组相关的产品类。这种模式适用于当系统需要...

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

    - `factory2`、`factory3`、`factory1` 这些文件名可能是实现工厂模式的Java源代码,分别代表了不同级别的工厂类,如简单工厂、工厂方法和抽象工厂的实现。通过查看这些源代码,可以学习到如何在实际项目中应用这些...

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

    简单工厂模式是一种更为基础的工厂模式,它包含一个静态方法,用于根据输入参数返回一个具体的产品实例。相比抽象工厂模式,简单工厂模式通常处理的产品种类较少,而且产品之间的关系相对简单。在某些情况下,我们...

    抽象工厂模式uml类图

    java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式

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

    工厂方法模式与抽象工厂模式的主要区别在于: 1. **复杂度**:工厂方法模式只关注一个产品的创建,而抽象工厂模式关注的是一个产品族的创建。 2. **灵活性**:工厂方法模式允许子类决定实例化哪个类,提供了更大的...

    抽象工厂模式代码

    通过抽象工厂模式,我们可以将产品对象的创建过程封装起来,使得客户端代码只需要与抽象工厂交互,而不关心具体的产品实现。这样可以提高代码的灵活性,当需要更换产品族或者添加新的产品族时,只需修改或添加新的...

    设计模式-抽象工厂模式(讲解及其实现代码)

    5. 在客户端代码中,使用抽象工厂和抽象产品进行编程,避免与具体实现的耦合。 抽象工厂模式的优势在于: - 提高了系统的灵活性,当需要添加新的产品族时,无需修改原有代码,只需添加新的具体工厂和产品类即可。 -...

    简单工厂-工厂方法-抽象工厂 对比总结

    本篇文章将对三种主要的工厂模式:简单工厂、工厂方法和抽象工厂进行深入的对比和总结。 **简单工厂模式** 是最基础的工厂模式形式,它提供一个静态方法或类来创建对象。在这个模式中,工厂是负责创建对象的中心...

    设计模式抽象工厂实验报告

    2. **应用抽象工厂模式进行软件结构设计与实现**:通过具体案例(即开发一套界面皮肤库),学会如何灵活运用抽象工厂模式来优化软件结构,提高代码的复用性和维护性。 #### 实验内容概述 本实验的主要任务是开发...

    IOS 设计模式抽象工厂实例Demo

    首先,我们需要定义一个抽象工厂协议。这个协议会声明一组方法,这些方法用于创建相关的对象。例如,我们可以有一个`UIElementFactory`协议,其中包含`createButton`、`createLabel`等方法。这些方法返回的是具体...

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

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

    肯德基:抽象工厂模式

    本章要点部分总结了抽象工厂模式的核心概念和设计原则,同时还区分了抽象工厂模式与工厂方法模式的不同,以及抽象工厂模式的具体使用场合。通过本章的学习,我们能够掌握抽象工厂模式的原理和应用,为解决实际开发中...

    抽象工厂设计模式抽象工厂设计模式

    抽象工厂设计模式抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式

    设计模式 - 抽象工厂模式

    抽象工厂模式的核心是提供一个抽象的工厂接口,该接口定义了一组用于创建产品的方法,而不需要指定具体的类。具体的工厂类继承该接口,并实现了这些方法以创建具体的产品。 抽象工厂模式的优点包括: * decoupling...

    设计模式之工厂方法、简单工厂、抽象工厂

    工厂方法、简单工厂和抽象工厂是创建型设计模式的三种不同形式,它们都关注于对象的创建过程,但各有其特点和适用场景。 1. **工厂方法(Factory Method)**: 工厂方法模式定义了一个创建对象的接口,但让子类...

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

    在软件设计模式中,工厂模式是一种非常...在实际项目中,工厂模式经常与其他设计模式(如策略模式、建造者模式等)结合使用,以解决更复杂的问题。阅读并理解这些代码有助于深入理解工厂模式及其在Java编程中的应用。

    设计模式-抽象工厂模式

    在抽象工厂模式中,我们创建一个抽象工厂接口,然后为每一种具体的产品族实现一个具体的工厂类。这些具体的工厂类都能创建一族相关的产品,而且这些产品都属于同一类型。 抽象工厂模式的主要组成部分包括: 1. **...

Global site tag (gtag.js) - Google Analytics