如何学习设计模式?

1.为什么要使用设计模式?

 系统的设计,是为了解决实际问题。针对同一个问题,我们可以提出好多方案,当然了,好方案和差方案都能解决问题。但我们为什么要设计软件,我认为不仅仅是为了解决问题,而是为了更好地解决问题。所以,我们需要一个尽可能好的方案(因为我无法论证我的方案是最好的,我只能保证尽可能地好)。所以,我们需要一种更优雅的方式来设计系统的组织结构。而设计模式,就是为了帮助我们更优雅地设计系统而提供的一种参考方案。如果你只是想设计一个系统,我认为没有设计模式,照样可以完成,但是,如果你想设计一个好的系统,设计模式是必须的!

2.到底什么是设计模式?

设计模式就是在特定场景下,解决特定问题的一种比较好的方案。为什么可以称为“模式”?是因为这些解决方案,是经过大量的实践论证后,被认为是的确可行的。所以,设计模式不是一个人的自吹自擂,而是被实践检验过的优秀方案。

3.设计模式的核心? 

设计模式的核心,我认为是六大设计原则,23种模式,只是在具体的23种场景下,以六大原则为核心理念,而提出的解决方案。

  • 单一职责
  • 里氏替换
  • 依赖倒置
  • 接口隔离
  • 迪米特法则
  • 开闭原则

4.我们该怎么学习设计模式?

  • 了解设计模式的应用场景
  • 编写示例代码+进一步理解应用场景
  • 分析每个模式到底如何体现六大设计原则?

关键:理解应用场景+体会六大原则

5.误区

看任何一本关于设计模式的书籍,重在理解模式的应用场景,对于示例代码,只可以在学习时为了加深理解具体场景而使用,切不可照搬。模式提供给我们的是解决问题的思路,而不是具体的方案。更不要把示例代码就当作模式的唯一表达方式,即:模式提供给我们解决问题的接口,而示例代码,只是一种实现,切忌生搬硬套!

posted on 2014-11-06 09:51  zhangwenhao2  阅读(150)  评论(0)    收藏  举报

导航