`

什么是设计模式

阅读更多

什么是设计模式<o:p></o:p>

什么是模式,这是一个看上去简单,但是又非常不简单的问题。我见过很多人,学习模式理论已经很长时间了,但是并不真正理解这一点。 <o:p></o:p>

  模式理论的基本思想其实起源于中国,是中国文化的固有思想。你,我,我们中每一个自幼受到中国思想熏陶的人,都自然具有这一基本思想。模式的思想存在于中国文化的各个角落,包括哲学、法律,医学,兵法,体育,文学,直到我们行为处事的方式。<o:p></o:p>

模式的思想,长期以来不存在于西方思考方式中,至今也不是西方文化的主流思想。因此学习模式,切忌以西方式的思路学习。不然的话,缘木求鱼,事倍功半。<o:p></o:p>

简单地讲,所谓模式,就是得到很好研究的范例。设计模式,就是设计范例。在孙子兵法中,充斥着各种模式。孙子说,至于死地而后生,就是战争模式。三十六计,条条都是模式,比如走为上空城计也都是战争模式。<o:p></o:p>

这些模式中的每一个都具有典型意义,具有学习价值。通过研究这些模式,学习者可以相互交流,可以在自己的实践中举一反三,推陈出新,加以应用。<o:p></o:p>

在我们参加高考的时候,老师给我们很多的典型题目,作为练习使用。这些题目一般来说不会在高考中原封不动地出现,但是这些题目会有一些内容启发我们的思考,可以让我们举一反三,从而为考试做好准备。<o:p></o:p>

模式不是框架(Framework),也不是过程。模式也不是简单的问题的解决方案,因为模式必须是典型问题的解决方案,是可以让学习者举一反三的,有研究价值、有交流价值,有自己的名字的例子。<o:p></o:p>

模式不能套用。不要以为在任何一个系统中都要使用某些设计模式。系统的设计也不是含有设计模式就好,更不是含有越多的设计模式就越好。<o:p></o:p>

在《三国演义》中,马恕就套用了至于死地而后生的战争模式,最后倒了大霉。在高考中,你如果把老师交给你的典型题目答案倒背如流,在一个个放到考试卷子上去,放得越多,恐怕你就离考上大学越远。<o:p></o:p>

  比如你喜欢三十六计,如果你在执行某项军事任务的时候,千方百计地将尽可能多的三十六计用到里面,每次都来一个走为上,那么你的朋友和敌人 都会觉得某名奇妙。如果你非三十六计中的计谋不用,或者认为非三十六计中的策略不算好策略,那么别人只能认为你不懂三十六计的精髓。<o:p></o:p>

中国传统医学也是一样,有时看上去症状相似的病,却要使用不同的处方,即所谓辨证用药。如果每次给病人看病,都要捧出某本医案,将尽可能多的著名医案用到你的病人身上,恐怕过不了多久就麻烦大了。<o:p></o:p>

中国古代的法律,就是案例法;也就是需要法官在研习案例的基础之上,举一反三,适当发挥。开个玩笑,如果你喜欢上轧美案,逢美必轧,恐怕需要及早做好该行的准备。<o:p></o:p>

关于模式的理论的起源、历史,以及模式理论与中国文化的渊源、哲学思想,设计模式背后的OO设计原则,二十几个设计模式的详细讲解,他们在 Java语言中如何实现,如何在自己的系统设计中举一反三、推陈出新,以及Java语言本身使用了什么设计模式,可以看一看我的新书《Java与模式》 (电子工业出版社出版)。<o:p></o:p>

<o:p> </o:p>

 
分享到:
评论

相关推荐

    java 设计模式 英文版

    "什么是设计模式?"这部分会详细阐述设计模式的定义,即在软件设计中经过验证的、可重复使用的解决方案模板,用于解决常见的设计问题。 "为什么需要设计模式?(好处)"这一节将探讨设计模式的优点,如促进团队之间...

    Java_设计模式.chm

    了解什么是设计模式,如何描述它们以及如何将它们分为几个众所周知的类别 能够把设计模式作为一个理解和讨论面向对象的软件设计的词汇表来使用 掌握一些最常用的设计模式,并知道何时应该使用它们及如何使用 ...

    《设计模式:可复用面向对象软件的基础》英文版

    ##### 什么是设计模式? 设计模式是针对软件设计中出现的常见问题而提出的一种解决方案。这些模式经过时间的检验,被证明是有效且可靠的。设计模式不仅仅提供了解决方案,更提供了一种通用的语言,使得开发人员可以...

    吉林大学软件设计模式奔腾历年题的代码

    首先,我们要理解什么是设计模式。设计模式并非具体的代码,而是一种描述在某些特定情况下,如何进行面向对象设计的通用解决方案。它们分为三类:创建型、结构型和行为型模式。创建型模式关注对象的创建过程,如单例...

    设计模式:可复用面向对象软件的基础--详细书签版

    1.1 什么是设计模式 2 1.2 smalltalk mvc中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 ...

    设计模式如何学习.docx

    什么是设计模式:了解设计模式的定义、重要性和分类(创建型、结构型、行为型)。 设计模式的历史:了解设计模式的起源,特别是《设计模式:可复用面向对象软件的基础》这本书。 2. 学习常见设计模式 逐一学习...

    Angular 设计模式

    在深入探讨Angular设计模式之前,我们首先需要明确几个概念:什么是设计模式?为什么在Angular开发中采用设计模式?本篇文章将基于《Angular Design Patterns》一书的部分内容,为您揭示如何在实际项目中应用这些...

    GOLF设计模式(C++语言版)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 ...

    设计模式Design Patterns

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    Java设计模式(第2版)中文版PDF

    关于“Java设计模式(第2版)中文版PDF”的知识点,首先我们要理解什么是设计模式,以及它们在Java编程语言中的应用。 设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式是为了...

    《设计模式》中文版(23个设计模式的介绍与运用)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

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

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

    Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides23种设计模式

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    设计模式_可复用面向对象软件的基础

    首先,我们要理解什么是设计模式。设计模式并不直接是代码,而是对在软件设计中经常出现的问题和解决方案的一种描述。它们是经过时间验证的、在各种项目中被广泛采用的模式,可以帮助开发者避免重复发明轮子,提高...

    Java 经典设计模式讲解以及项目实战

    Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...

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

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

    长久以来对设计模式的重大误解

    首先,我们需要明确什么是设计模式。设计模式并不是具体的代码或库,而是一种描述在特定情况下,如何解决常见问题的经验总结。它们是在不同场景下经过验证的、良好的设计实践,如工厂模式、单例模式、观察者模式等。...

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

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

    Java设计模式 设计模式介绍

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

Global site tag (gtag.js) - Google Analytics