`
zhhphappy
  • 浏览: 121405 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

设计模式学习之--Factory

阅读更多

     工厂模式是用来创建对象的(工厂)。
抽象工厂就是工厂的工厂- -#

适用场景:如果创建实例的时做的事情不是如赋值这样简单的事,可能是很长一段代码的操作,如果也写入构造函数中,那明显的就违背了面向对象的原则.封装(Encapsulation)和分派(Delegation);此时就需要将创建实例的责任与使用实例的责任分开。

抽象工厂结构图:
 
优点:
i.    具体的部件类与使用和初始化它们的类是独立的,因为抽象工厂类封装了创建部件对象的处理;
ii.    容易扩展;
iii.    可以使用户类通过产品的特征来使用具体的产品;

工厂模式的一个经典的实际应用就是spring的BeanFactory,它负责创建和分发bean,同时还负责在实例化bean时创建bean之间的关系,bean在被使用到的时候被创建,我们在使用的时候完全不去关心它是怎么被创建的,而只需直接使用我们需要的bean的实例。

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

相关推荐

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    C++源代码文件可以帮助你更好地理解如何在实际项目中应用这些模式,通过阅读和分析代码,你可以学习如何在C++中实现这些设计模式,并将它们融入到自己的编程实践中。 总而言之,设计模式是软件开发中的宝贵财富,...

    java设计模式---诙谐易懂版

    总结来说,设计模式是软件开发中的重要工具,通过学习和运用不同的设计模式和设计原则,可以帮助开发者更好地解决编程中的各种问题,提升代码质量和团队协作效率。在Java开发中,正确理解和应用这些模式和原则,对于...

    26种设计模式-----pdf

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的模板。这个压缩包文件名为"26种...通过深入学习和实践这些设计模式,开发者可以进一步提升自己的编程技能,更好地应对各种复杂的软件设计挑战。

    设计模式PPT---25种设计模式详解

    这份PPT涵盖了设计模式的全貌,对于初学者来说,是一个很好的学习资源。通过深入学习这些模式,开发者可以更好地理解和应用面向对象设计原则,提升代码质量和可维护性。同时,理解并熟练运用设计模式,也是成为一名...

    C++设计模式--基于Qt4开源跨平台开发框架

    通过学习《C++设计模式--基于Qt4开源跨平台开发框架》,开发者不仅可以掌握设计模式的本质和应用场景,还能深入理解Qt4框架的强大功能。结合两者,能够提高代码质量,降低维护成本,同时实现高效且可靠的跨平台应用...

    设计模式课程设计---使用5个以上不同的设计模式完成(java)

    在本设计模式课程设计中,我们重点探讨了五个核心的设计模式:原型模式、单例模式、抽象工厂模式、代理模式和建造者模式。这些模式在Java编程中具有广泛的应用,能够帮助开发者创建更加灵活、可扩展和易于维护的代码...

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    GoF(Gang of Four)所提出的23种设计模式,被认为是面向对象编程中最核心的设计原则之一。这些模式可以帮助开发者解决常见的编程问题,并提高代码的可复用性和可维护性。 #### 创建型模式 创建型模式关注的是对象...

    23个设计模式图解--学习笔记

    在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    Java设计模式是面向对象编程...在阅读《Chapter1___Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)》的相关资料时,你可以更深入地学习这些模式的细节,包括适用场景、优缺点以及如何在实际项目中实现。

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    设计模式的学习过程通常分为四个阶段:学习、表达、教授、记录。每个阶段都需要不同的技能和深度的理解。 #### 0.2 设计模式解析后记 在完成所有设计模式的学习和解析之后,开发者会发现自己已经进入了一个新的...

    设计模式实例--C++实现

    在编程领域,设计模式是一种被广泛认可的解决常见问题的最佳实践。它们是经过时间验证的、可重用的解决方案模板,适用于特定的软件设计问题。本篇将详细探讨"设计模式实例--C++实现"这一主题,通过分析压缩包中的...

    JAVA设计模式---100%推荐

    JAVA设计模式更是Java开发者必须掌握的核心技能之一,因为它可以提高代码的可读性、可维护性和复用性。这篇名为"JAVA设计模式---100%推荐"的资源,可能是对Java设计模式的深入解析,旨在帮助开发者更好地理解和应用...

    Csharp设计模式电子版--一本很好C#设计模式

    通过学习《C#设计模式》,读者可以深入理解面向对象设计的原则,如单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP),并能在实际项目中灵活运用。 总的来说...

    设计模式----命令模式

    总的来说,这个压缩包中的内容很可能是包含了一个命令模式和享元模式的示例程序,通过分析和学习这个实例,我们可以更好地理解和掌握这两种设计模式的运用场景、实现方式以及它们在实际项目中的价值。对于想要深入...

    设计模式的应用--论文素材2

    使用设计模式需要权衡,因为它可能会增加代码复杂性,需要额外的学习曲线,而且并非每个设计模式都适用于每个项目。然而,通过理解和恰当运用设计模式,开发者可以更好地组织代码,提高代码的可读性和可维护性,同时...

    设计模式之美—学习笔记

    在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...

Global site tag (gtag.js) - Google Analytics