0 0

java设计模式,接触越久越糊涂,Builder模式为什么是创建不是结构5

对Gof的模式,拜读很久,也做过一两个工程,今天有读起来,突然很迷惑,
什么是创建,什么是结构,
比如Builder模式为什么是创建不是结构呢
2013年8月09日 16:11

2个答案 按时间排序 按投票排序

1 0

采纳的答案

如果gof的模式读了很久仍然理解不了的话,只能说明你敲的代码量还不够,我们对这个模式描述的再好也不可能超过这本被奉为经典的书。这个东西急不得。

2013年8月09日 16:33
0 0

GOF对三种类型的模式(创建型、结构型、行为型)的划分标准是:
创建型:该模式“主要”针对的是对象的创建;
行为性:该模式“主要”针对的是对象之间的协作;
结构性:该模式“主要”针对的是类的组织结构。

Builder模式主要解决的是一系列对象如何创建的问题(具体我不仔细描述了,请参见GOF原书),因此明显是属于创建型的(比如单例解决是如何让一个对象保持单个实例的问题,工厂方法主要解决是对象如何延迟创建的问题,等等)

上面的主要两个字加上了引号,意在说明并非创建型模式就没有结构,行为型模式就不会包含对象的创建,结构型模式对象之间就毫无交互可言,而是主要解决的问题是归属于哪一个类别的,如果单看类结构,忽视了一个模式的语义、语境,你是学不好设计模式的,举2个列子:

工厂方法(Factory Method)和模板方法(Template Method),从结构上来说是很类似的,工厂方法(标准的工厂方法)实际上也包含模板的语义;

组合模式(Composite)和解释器模式(Interperator)结构上也是很类似的,但是解释器是注重解释行为的模式,组合模式是注重表示行为的模式,所以二者的语义实际上差别很大,还是很容易区分开来的;

2013年8月10日 09:23

相关推荐

    23种设计模式的java实现-Builder

    在Java中,23种设计模式被广泛接受并分为三大类:创建型、结构型和行为型。Builder设计模式是创建型模式之一,主要解决复杂对象的构建问题,使得构建过程与表示分离。 Builder模式的核心思想是将一个复杂对象的构建...

    JAVA设计模式(创建模式 结构模式 行为模式)

    本资源主要涵盖了创建模式、结构模式和行为模式三大类,每种模式都是面向对象设计的核心部分。 创建模式主要用于解决对象的创建问题,使得对象的创建过程更加灵活,易于扩展。其中: 1. 工厂模式(Factory Pattern...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...

    23种java设计模式.pdf

    JAVA 设计模式可以分为三种:创建模式、结构模式和行为模式。 1. 创建模式 创建模式是指在创建对象时使用的模式,包括 Factory(工厂模式)、Singleton(单例模式)、Builder(建造者模式)、Prototype(原型模式...

    java设计模式ppt

    ### Java设计模式详解 在软件开发领域,设计模式是一种被广泛采用的解决方案,用来解决常见的设计问题。设计模式不仅能够帮助开发者写出可复用、可维护的代码,还能提高团队间的沟通效率。以下是对给定文件中提到的...

    《Java设计模式》课后答案-刘伟.rar

    创建型设计模式如单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype),它们主要关注对象的创建过程,使得代码更加灵活且易于扩展。 结构型设计...

    JAVA设计模式chm文档

    设计模式之Builder 设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计...

    《Java设计模式》课后习题参考答案-刘伟(20180723).pdf

    知识点: 1. 反模式概念 反模式是在软件开发中出现的一种负面模式,它通常是指那些...在学习设计模式的过程中,理解每一个模式的意图、结构、参与者和协作关系是十分重要的,这有助于在实际开发中做出恰当的设计选择。

    JAVA设计模式-chm版

    这类模式关注对象的创建过程,包括单例模式(Singleton)、工厂模式(Factory)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。它们提供了创建对象的不同策略,使代码更加灵活...

    Java设计模式刘伟书本中模拟考试答案

    在《Java设计模式》这本书的模拟试题及其参考答案中,涉及了多条设计模式的知识点,以及它们的应用场景和实现方法。现在将这些知识点详细地解释如下: 1. 开闭原则(Open-Closed Principle, OCP): 开闭原则是面向...

    JAVA设计模式

    Java设计模式是面向对象编程中的一种重要概念,它们为解决常见的软件设计问题提供了模板。这份“JAVA设计模式”帮助文档将深入探讨这些模式及其在Java中的应用。 1. **单例模式(Singleton)** 单例模式确保一个类...

    23种JAVA设计模式和15种J2EE设计模式

    ### 23种JAVA设计模式和15种J2EE设计模式详解 #### 一、JAVA设计模式概览 在软件工程领域,设计模式是一种在特定情境下解决常见问题的有效方法。Java作为一种广泛使用的编程语言,拥有丰富的设计模式库来帮助...

    java设计模式程序源代码

    在这个名为"java设计模式程序源代码"的压缩包中,你将找到一系列的Java代码示例,用于解释和实现各种设计模式。 1. **单例模式**:单例模式确保一个类只有一个实例,并提供全局访问点。这种模式在需要控制实例数量...

    java设计模式.pdf

    根据描述,这份资料包含了多个部分,包括全英文的影印版、详细的解释以及理论性的DOC文档,为深入学习和理解Java设计模式提供了丰富的资源。 设计模式通常分为三类:创建型、结构型和行为型。创建型模式涉及到对象...

    JAVA设计模式(chm版)

    Java设计模式主要分为三大类:创建型、结构型和行为型模式。 1. 创建型模式:这类模式涉及到对象的创建,如单例模式(Singleton)、工厂模式(Factory)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)...

    java设计模式PPT

    这份名为"java设计模式PPT"的资料集合,包含了关于JAVA设计模式的书籍和PPT,对于不同水平的开发者都有很大的学习价值,无论是初学者还是希望深入理解JAVA开发模式的专业人士。 首先,我们要理解设计模式的核心概念...

    java设计模式中英文各种版本打包下载 学习设计模式必备材料

    1. 创建型模式(Creational Patterns):如单例模式(Singleton)、工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。它们主要处理对象的创建,帮助...

    java设计模式高清教程

    在Java设计模式的世界里,我们可以分为三大类:创建型、结构型和行为型模式。创建型模式关注对象的创建,如单例模式(Singleton)、工厂模式(Factory)和建造者模式(Builder)。这些模式提供了更加灵活的实例化...

Global site tag (gtag.js) - Google Analytics