你的位置:首页 > ASP.net教程

[ASP.net教程]关于设计模式的定义,什么是设计模式?


      我是在前年的时候开始深入接触C#的,所以,为什么说是深入呢,大学里面学过C#,但是,大学的学习你们是懂。刚进公司的三个多月,一直都是在熟悉C#的语法,后来我的头就让我做一个计算器的例子(基本上大家都做过这个例子),然后就直接做了,结果可想而知,运行时可以运行,但是只有一个class,头看了之后,就让我去看一下什么叫做工厂模式。这个时候才知道有设计模式这个东西,于是在度娘中各种搜索设计模式(那时候只会度娘),再次之后有看了吴强的《大话设计模式》,不得不说对我这种菜鸟来说,这本书就是大肥虫,通俗简单易懂,看了让人恍然大悟,原来代码还可以这么玩。在那之后就没有看过设计模式的书,但是实际代码中还是用到很多种设计模式,例如单例,组合等等,这都是常用的。前几天我的头在网上找了很多书,然后他也发了我一份,他跟我说首先看《C#设计模式》这本书。在看完第一章的时候,我就在问自己,什么是设计模式?这玩意有定义吗?一句话感觉自己就懵了,感觉自己好像这章什么都没看懂,于是从头在看,这时候才看到这本书里提到的有关定义:

  1. 设计模式是对读者经常遇到的设计问题的可在线的解决方案。(The Smalltalk Companion)
  2. 设计模式建立了一系列如何完成软件开发领域中特定任务的规则(Pree 1995)。
  3. 设计模式更关注与复用可重复出现的结构设计方案,而框架注重于具体设计和实现(Coplien and Schmidt 1995)。
  4. 模式提出了一个发生在特定设计环境中的可重复出现的设计问题,并提供了解决方案(Buschmann et al. 1996)
  5. 模式识别并确定类和实例层次上或组件层次上的抽象关系(Gamma,Johnson,and Wlissides,1993)。

      其实看完这些定义之后,设计模式还是没有一个清晰的样子,从百度上搜到的设计模式定义无外乎从以上的定义演化而来,在我理解,设计模式是一种规则,但是并不是每个人都要遵循,就像法律和道德规范一样,虽然这样比喻不大好,但是很类似,每个人的理解都不一样,不知道大家有没有更通俗易懂的说法。

-------------------------------------------------------------

刚刚在网上无意找到的,这段话上半部分就是上面的五条:

设计模式在设计者是一种流行的思考设计问题的方法,是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结。
使用了设计模式,是为了使代码具有可重用性,让代码更容易被他人理解和保证代码的可靠性。