什么是设计模式

2016-02-19 16:00 5 1 收藏

今天图老师小编给大家介绍下什么是设计模式,平时喜欢什么是设计模式的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

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

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

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

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

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

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

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

进入讨论组讨论。

来源:http://www.tulaoshi.com/n/20160219/1610874.html

延伸阅读
标签: 浏览器
360安全浏览器什么是隔离模式?   所谓隔离模式,就是在电脑里建立一个虚拟空间,将带有木马病毒的网页封闭在这个环境中进行浏览,使网页中的木马病毒无法接触真实的电脑系统,从而避免对电脑系统的攻击。这就好比是在医院建立了一个完全隔绝的无菌操作室,在里面的所有带菌操作,都不会对外界产生任何影响。
标签: 浏览器
360极速浏览器什么是离线模式? 当自动登录失败时(通常是网络设置或服务器等问题导致),将自动进入离线模式。 离线模式下,将会显示360帐户在本地备份的数据,以便您能继续使用自己的收藏夹。 我们会自动为您重试登录,直到登录成功。登录成功后,将自动同步为最新的收藏夹数据。
描述: 计数代理模式在客户对象调用服务提供者对象上方法的前后执行诸如日志(logging)和计数(counting)一系列附加功能时很有用。 !-- frame contents -- !-- /frame contents -- 计数代理模式建议把这些附加功能封装在一个单独的对象,这个对象就是指计数代理对象,而不是把这些附加的功能实现放到服务提供者的内部。...
标签: Web开发
一直以来都想把在实际开发中的一些经验系统地整理一下,共享出来给一些有志于深入B/S开发的朋友,趁着国庆忙里偷闲,先试验性的写一下有关于Javascript开发中的比较有用的东西。 设计模式一直以来都是在面向对象的语言,或比较正规化的开发中才会出现的一门程序设计思想。一直以来众多的前端开发者认为使用OO方式来写JS更像是一个程序...
什么是单一信托模式?它有哪些特点?一起来看看单一信托模式的特点吧。 单一信托模式的特点 单一信托模式的特点 单一信托,也称为个别资金信托,是指信托公司接受单个委托人的资金委托,依据委托人确定的管理方式(指定用途),或由信托公司代为确定的管理方式(非指定用途),单独管理和运用货币资金的信托。 1、单一信托模式...

经验教程

377

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部