`
ideal46
  • 浏览: 30178 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

设计模式是什么

阅读更多
如果一个问题反复发生,那么这个问题的解决方案就会被有效使用,这种被频繁使用的解决方案就叫做模式。设计模式是语言独立(开发语言)的,主要用来解决面向对象设计的一般问题。当你设计一种方案,你应该知道一些常见的解决方案的名称。通过学习设计模式,对于有效沟通也大有裨益。实际上,你可能已经很熟悉一些设计模式了,只是没有一个众所周知的名称来描述而已。SUN建议 GOF(Gang Of Four--四个写了“设计模式”-面向对象软件的可重用组件的开拓者),所以我们使用这本书作为指导来描述解决方案。请熟悉这些规则并且学习他人处理代码问题的方式。

为什么要使用设计模式

如果你想成为专业的java开发者,你至少应该知道一些常见的代码解决方案,这些方案已经被经验丰富的开发者们证明,可以有效高效的解决代码问题,这样的解决方案就被称为--设计模式。学习设计模式可以加速你在 OOA/OOD 领域的经验积累。一旦你掌握了他们,你就会受用一生并且跻身设计和开发专家之林,另外你也可以通过这些规则与同事或者技术顾问更有效的沟通交流。
  一些用用若干年开发经验的人不知道设计模式,但是作为一个面向对象的开发者,你必须很好的掌握他们,特别是新的java程序员。实际上,当你解决代码问题的时候,你就已经在使用设计模式了,尽管你可能没有使用有名的或者可能没有选择一种很有效的方式进行构建。学习资深开发者及绝代码问题的方法试着使用这些方法到自己的工程中去,是一个获取经验和结果最好的方式。
  请记住学习设计模式真的可以改变你设计代码的方式,不仅可以让你更聪明而且会让你熟悉更多聪明的人。

设计模式数量

很多,保守估计也有250多种被应用在面向对象设计中,包括Spaghetti一种很烂的编码习惯。GOF提出的23中设计模式为人们所熟知,很多其他的也在不断被发明出来。

注意:设计模式不是习语,或者算法,或者组件。

设计模式之间的关系

一般,一个系统需要多种设计模式配合构建,对于同一问题,不同的设计者也会采用不同的设计模式解决。一般:

      
  • 一些设计模式自动组装在一起
  •   
  • 一个模式领导其他模式工作
  •   
  • 一些模式很像而且可以互相替代
  •   
  • 模式是可见的和文档化的
  •   
  • 模式不是方法或者框架
  •   
  • 模式提供一个有效解决问题的可能性


参考:
Design Patterns -- Elements of Reusable Object-Oriented Software by GOF.

The Design Patterns, Java Companion -- by James W. Cooper

Sun's core J2EE Patterns

Return to top
0
0
分享到:
评论

相关推荐

    二十三种设计模式【PDF版】

    主要是介绍各种格式流行的软件设计模式,对于程序员的进一步提升起推进作用,有时间可以随便翻翻~~ 23种设计模式汇集 如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 ...

    人人都懂设计模式 人人都懂设计模式

    人人都懂设计模式 设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中...

    设计模式10大误解

    1. **关于设计模式是什么的误解** 2. **关于设计模式能做什么的误解** 3. **关于推广设计模式的社区的误解** 下面将详细介绍这三类误解及其正确解读。 #### 三、具体误解 **误解1:“设计模式是在特定上下文中...

    设计模式解析.pdf

    ### 设计模式解析:深入理解软件设计的核心原则与实践 #### 标题解析:设计模式解析 设计模式是软件工程领域的重要概念,旨在提供解决常见软件设计问题的模板或指导原则。《设计模式解析》这一标题暗示了书籍将...

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

    GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位专家在他们的著作《设计模式:可复用面向对象软件的基础》中提出,被誉为设计模式的经典之作。本资源包含了GOF设计...

    设计模式之蝉

    在计算机科学领域,设计模式是软件工程中用于解决特定问题的一般性方案,它们是经过实践检验的最佳实践。这些模式被广泛应用于面向对象软件设计中,能够提高代码的可重用性、灵活性和可维护性。设计模式通常被划分为...

    Java设计模式 设计模式介绍

    章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之...

    Head First 设计模式 +Java设计模式(第2版)

    《Head First 设计模式》与《Java设计模式(第2版)》是两本非常重要的IT书籍,专注于软件开发中的设计模式。设计模式是解决软件设计中常见问题的经验总结,它们提供了一种标准的方法来处理特定场景下的问题,使得代码...

    23种设计模式详解PDF

    设计模式 的分类 总体来说设计模式分为三大类: 创建型模式(5): 工厂方法模式 、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式(7): 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、...

    设计模式 四人帮设计模式

    设计模式 四人帮设计模式。比较经典的设计模式。

    设计模式之《大话设计模式》.pptx

    设计模式之《大话设计模式》.pptx

    python设计模式第2版.pdf

    设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计已经逐渐成为软件开发和维护过程中的一个重要课题。 Python设计模式(第2版)通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例...

    JAVA设计模式chm文档

    设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计...

    软件设计模式期末作业

    在软件开发领域,设计模式是经过时间和实践验证的解决方案模板,用于解决常见问题。本作业以“软件设计模式”为主题,特别关注了装饰模式、工厂模式和适配器模式的运用。这三种模式都是面向对象设计的核心部分,它们...

    JavaScript设计模式.pdf

    JavaScript设计模式.pdf JavaScript设计模式是指在软件开发中使用JavaScript语言编写的设计模式。这些设计模式旨在提高代码的重用性、可读性、维护性和扩展性。以下是JavaScript设计模式的知识点总结: 1. 单体...

    设计模式练习题

    有关设计模式的练习题。设计模式的分类。等相关的联系。学西设计模式必选习题。有助于加强对于设计模式的理解。

    MongoDB应用设计模式

    资源名称:MongoDB应用设计模式内容简介:无论是在构建社交媒体网站,还是在开发一个仅在内部使用的企业应用程序,《MongoDB应用设计模式》展示了MongoDB需要解决的商业问题之间的连接。你将学到如何把MongoDB设计...

    软件设计模式(java版)习题答案.pdf

    软件设计模式(Java版)习题答案 本资源为软件设计模式(Java版)习题答案,由程细柱编著,人民邮电出版社出版。该资源涵盖了软件设计模式的基础知识,包括软件设计模式的概述、UML中的类图、面向对象的设计原则、...

    Head First设计模式.pdf

    全书用两章篇幅对设计模式和GRASP作了基本介绍,3种设计模式的讲解:对于每一种模式,先给出定义,接着通过类比方式用一个现实世界中的例子说明模式的应用,然后分别以C#和Java代码例述模式的架构实现。最后一章给出...

    c嵌入式设计模式

    嵌入式系统设计模式是在嵌入式系统开发领域中,针对特定问题的解决方案的模板或模式。由于嵌入式系统具有资源有限、实时性强、安全性要求高等特点,因此在设计时往往需要使用特定的设计模式来应对这些挑战。本书《C...

Global site tag (gtag.js) - Google Analytics