`
xupo
  • 浏览: 214892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于设计模式中各种工厂的理解

阅读更多

对于Java的工厂模式,简单工厂、工厂方法、抽象工厂之间的区别一直挺难区分,今天无意中发现一博客中描述的比较形象。特意转载下。

 

 

 

 简单工厂模式

首先,如果一个客户要用到一款手机,一般的做法是客户去创建一款手机,然后拿来用:

image 

这时,客户需要知道怎么去创建一款手机,客户和手机就紧密耦合在一起了.为了降低耦合,就出现了工厂类,把创建手机的操作放到了工厂里面去,客户直接使用工厂的创建手机方法,传入想要的手机型号就行了,而不必去知道创建的细节.

image

 

 

工厂方法模式

随着手机种类越来越多,简单工厂模式出现了弊端,每次新加入手机品种,工厂类都要加入新的创建逻辑.这时我们就可以把工厂类定义成了接口,而每增加一种新的手机,就增加该手机对应工厂类的实现,这样工厂的设计就可以扩展了,而不必去修改原来的代码:

image

 

 抽象工厂模式

随着工厂规模的继续扩大,工厂开始生产充电器了.这时候工厂有二个系列的产品:手机和充电器.而手机必须使用对应的充电器才能使用.这时候分别使用一个手机工厂和一个充电器工厂都不能满足我们的需求,我们必须确认手机跟充电器的对应关系.我们把工厂改造一下,把手机工厂跟充电器工厂联系在一起:

image

分享到:
评论

相关推荐

    设计模式资料之工厂设计模式

    在给定的“设计模式资料之工厂设计模式”中,我们主要关注的是工厂设计模式,这是一种创建型设计模式,它提供了创建对象的最佳方式。在这个资料中,可能会详细解释工厂模式的概念、目的以及如何在实际编程中应用。 ...

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

    "设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...

    三种设计模式(简单工厂_工厂方法_抽象工厂)

    设计模式是软件工程中的一种最佳实践,用于解决常见的设计问题并提供可重用的解决方案。在面向对象编程中,设计模式极大地提高了代码的可读性、可维护性和可扩展性。今天我们将深入探讨三种主要的设计模式:简单工厂...

    工厂设计模式代码

    工厂设计模式是软件工程中广泛使用的一种创建型设计模式,它的主要目的是为了隔离对象的创建过程,使得客户端代码不直接创建对象,而是通过一个专门的工厂类来负责对象的实例化。这种模式使得系统在面对产品扩展时...

    几种设计模式的理解设计模式理解

    设计模式是软件开发中的一种重要概念,用于解决常见的设计问题并...在实际开发中,可以结合多种设计模式以实现更复杂的系统架构,如 Spring 框架就广泛使用了工厂模式和其他设计模式来管理对象的生命周期和依赖关系。

    设计模式——工厂方法模式

    工厂方法模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是当系统需要创建的对象具有多种类型,而具体创建哪种类型的对象在运行时才能确定的问题。在这个压缩包中,`FactoryMethod`可能包含了Java...

    深入浅出设计模式之工厂模式

    根据提供的标题“深入浅出设计模式之工厂模式”与描述“将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载”,我们可以推测出这部分内容主要关注的是设计模式中的工厂模式。...

    设计模式之工厂

    "工厂模式"是其中一种常用的设计模式,它提供了一种创建对象的最佳方式。在这个主题下,我们将深入探讨三种主要的工厂模式:简单工厂、工厂方法和抽象工厂。 1. **简单工厂模式**: 简单工厂模式是最基础的形式,...

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

    抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体的类。这种模式允许系统独立于如何创建、组合和表示产品对象的细节进行设计,为产品族(一组相关或相互依赖的对象)提供...

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

    在iOS开发中,设计模式是解决常见编程问题的模板,它们提供了一种标准的方法来组织代码,使得代码更易于理解、扩展和维护。抽象工厂模式是设计模式中的一种,尤其适用于创建一组相关或相互依赖的对象。这个实例Demo...

    设计模式(简单工厂模式_排序)手写代码.rar

    简单工厂模式是软件设计模式中的一种创建型模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个工厂类负责创建所有相关的或者相互依赖的对象,无需客户端代码指定具体的类,而是通过工厂方法来创建实例。...

    设计模式之工厂系列

    在软件开发领域,设计模式是一种经过...学习和理解工厂系列设计模式,对于提高代码的可读性、可维护性和复用性具有重要意义。在实际项目中,合理运用这些模式能有效降低系统的耦合度,提高系统的可扩展性和可维护性。

    设计模式之简单工厂模式

    **简单工厂模式**是软件设计模式中的一种基础模式,它属于创建型模式,主要用于简化对象的创建过程。在简单工厂模式中,一个专门的工厂类负责创建对象,客户端通过调用工厂类的方法来获取所需的对象,而无需关心具体...

    设计模式之java工厂模式

    "设计模式之java工厂模式"是关于如何优雅地创建对象的一种经典设计模式,它属于创建者模式类别。创建者模式主要关注对象的创建,而工厂模式则在其中扮演着重要角色,因为它提供了一种抽象的方式来创建对象,从而使...

    设计模式_工厂模式

    设计模式是软件工程中的一种最佳实践,用于解决常见的设计问题并提供可重用的解决方案。在这些模式中,工厂模式是一种创建型模式,它提供了一种封装对象创建过程的方法,使得客户端代码无需直接实例化对象,而是通过...

    探索Java设计模式:工厂模式与抽象工厂模式的比较

    工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们在Java中有着广泛的应用。本文将详细探讨这两种模式的区别,并提供代码示例来加深理解。 工厂模式和抽象工厂模式都是创建型设计模式,它们提供了代码解耦和...

    工厂设计模式简单实例

    工厂设计模式是面向对象编程中的一种经典设计模式,它的主要目的是为了解耦对象的创建与使用,使得系统在不...通过对"工厂设计模式简单实例"的学习,读者可以更好地理解和应用这一模式,提升其在实际项目中的设计能力。

    设计模式(简单工厂和工厂方法C++版)Demo程序

    通过运行和分析这个Demo程序,你可以深入理解简单工厂和工厂方法在实际应用中的差异,以及如何根据需求选择合适的设计模式。同时,也可以学习到如何在C++环境中有效地实现这两种模式,提升你的编程技能和设计思维。...

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

    在给定的资源中,"设计模式交流之工厂模式-shannonxu-2014-10-24.pptx"可能是详细的PPT讲解,涵盖了这些模式的概念、结构、优缺点以及实际应用案例。而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括...

    GOF设计模式中英文+设计模式精解中英文

    本资源包含了GOF设计模式的中英文对照版以及一本设计模式精解的中英文版,对于深入理解和应用设计模式来说,是非常宝贵的资料。 设计模式分为三大类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的...

Global site tag (gtag.js) - Google Analytics