模式之路

说起设计模式,这方面的书很多,大家往往第一印象就会想到 GoF的《Design Pattern》。的确,这本书明确的阐述软件设计中“模式”的概念,并将其系统化,以理论的方式呈现出来。但这本书有些久远,书中的范例都是居于 C 来实现,虽然其他的有关模式的书对此做了很多的注解,但大部分还是围绕着书中的23种设计模式,只不过在特定的语境中加以阐述和明确。似乎国内这种模式的研究太过于单一和偏执。造成了学习者对经典理解的泛滥,加重了学习者对模式困惑。同时,一般书的著者往往注重理论,而缺乏指导学习者如何在工作中掌握并巩固对模式的理解和应用,容易导致形而上学。模式应该是一门实践课程,而非纯粹的理论。

    诚然能清楚地描述模式,的确有很大难度。况且目前软件开发中,开发者往往大量的使用各种API,Toolkit,Framework。导致开发者只有感性的认识,所以设计模式的总是给读者虚渺的感觉,难以在工作中得到体验。一方面是由于GOF的部分模式都已经固化到基础的API中,如Iterator模式,在日常工作中很难见到这种模式,在大部分的语言中都已经实现这个基本模式,在专门的设计中也只需合理调用这些API即可。如果学者在单独学者这一模式,估计也只字面理解,永远无法得到实践的理解。另一方面,框架的大规模使用,导致学习者忙于对框架的API的学习,而忽视了对框架本身的理解,其实框架中有大量的模式的设计,如果开发者能在日常工作,稍加阅读些源码,即接触到大量的设计模式。

    还有一个重要的问题是我们为什么要学习模式,稍微有些开发经验的人都知道,代码写久了,就会接触到模式。其实,模式就是人为总结出来的一些规章制度而已,用于解决特定环境下的特定问题。在一个任何领域有工作经验的人,都知道这个领域的问题该这么解决。就好比上班不迟到,下班不早退,这是公司的制度,也是公司管理的模式。所以,一般先有问题,后有解决方法,这些方法固定了下来,就成为日常管理的模式。我们学习模式主要用来提高自己的业务能力,将日常的常用的工作方法整理归纳起来,再下次遇到同样的问题就能快速的解决。所以模式的学习应该有个过程,并在这个过程不断地学习提高。

      

那该如何学呢?

1)  在理路上找一本模式的书,把整个模式的理路了解一遍

2)  在工作中不断寻找符合模式的上下文,并归纳总结。

3)  多参与设计工作

4)  多读代码。

5)   回顾书籍

6)  2-5 迭代循环

 

学习过程本身都是比较痛苦的,业精于勤荒于嬉,学海无涯

 

欢迎拍砖

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值