[笔记丶设计模式]2. 如何学习设计模式

本文详细介绍设计模式的重要性和学习层次,提供了实用的学习建议,并通过实例帮助读者理解如何在实践中运用设计模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明:来自mrcode markdown博客:http://www.mrcode.cn/zhuqiang/article/details/24.html


1. 为什么要学习设计模式

  1. 软件开发越来越快,对软件设计的要求也越来越高,而软件设计和架构的入门功夫就是深入理解和掌握设计模式,因此,设计模式的重要性不言而喻。
  2. 设计模式已经称为软件开发人员的“标准词汇”
  3. 学习设计模式是个人提高的捷径
  4. 不用重复发明轮子

2. 学习设计模式的层次

  1. 基本入门级
    要求能够正确理解和掌握每个设计模式的基本知识,能够识别在什么场景下,出现了什么问题,采用何种方案来解决它,并能够在实际的程序设计和开发中套用相应的设计模式
  2. 基本掌握级
    除了具备基本入门级的要求外,还要求能够结合实际应用的场景,对设计模式进行变形的使用
    事实上,实际开发中,经常会碰到根标准模式的应用场景有一些不一样的情况,此时要合理的使用设计模式,,就需要对他们适当的变形,而不是僵硬的套用了。当然能变形的前提是要能准确的深入的理解和把握设计模式的本质,万变不离其中,只有把握住本质,才能够保证正确变形使用而不是误用
  3. 深入理解和掌握级
    除了具备基本掌握级的要求外,更主要是从思想上和方法上吸收设计模式的精髓,并融入到自己的思路里面去,在进行软件的分析设计的时候,能随意的,自然而然的应用,就像是自己思维的一部分

3. 设计模式的学习

事实上,实际开发中,稍微复杂点的应用,在解决某个问题的时候,就不再是单一的应用某一个设计模式,而是中和应用很多的设计模式。例如:结合着某个具体的情况,很可能需要把模式A进行简化,结合上模式B的一部分,再组合应用变形的模式C。。。。。。,如此来解决实际的问题

更复杂的是除了考虑这些设计模式外,还可能需要考虑系统整体的体系结构、实际功能的实现、与已有功能的结合等等。这就要求在应用设计模式的时候,不拘泥于设计模式本身,而是从思想和方法的层面进行应用。

简单点说:
1. 基本入门级就是套用使用,相当于能够依葫芦画瓢,很机械
2. 基本掌握级就是能变形使用,比基本入门级少灵活一些,可以适当变形使用,但还是比较匠气
3. 深入理解和掌握级才算是真正的把设计模式的精髓吸收了,是从方法和思想的层面去理解和掌握设计模式,就犹如练习武功到最高境界,开始“无招胜有招”了。要达到这个境界,没有足够的开发、设计经验,没有足够的深入的思考,是不太可能的。

至于有这样疑问的朋友来说:
设计模式的书看了不少,觉得都看懂了,就是不知道在实际开发中怎么用这些设计模式,从而认为设计模式是“看上去很美”的“花拳绣腿”。那么“恭喜”这些朋友,你正处于对“设计模式了解级”,根本还没有入门


4. 如何学习设计模式?

结合自身的经验,给出如下学习设计模式的建议:

  1. 首先要调整好心态,不要指望一(足就)而就,不可浮躁
    学习和掌握设计 是需要有一个过程的,不同的阶段看这些设计模式会有不同的领悟和感受。不要指望真正的设计模式的课程是又简单又有趣的,一看就懂的,那种课程多是属于科普性质的,只是让你简单了解一下设计模式。这也是为何有很多朋友总感觉“懂”设计模式,却不会在实际项目中应用设计模式了,因为你“懂”的程度不够。
    要想真正理解和掌握,必须要上升到一定的难度和深度,让你学完后思考,思考后应用,然后再学、再思考、再应用、如此反复,方能成就。“鱼和熊掌不能兼得”
  2. 第一步:
    准确理解每个设计模式的功能、基本结构、标准实现,了解使用它的场景以及使用的效果
  3. 第二步:
    在实际的开发中,尝试着使用这些实设计模式,并反复思考和总结是否使用得当,是否需要做一些变化
  4. 第三步:
    再回头去看设计模式的理论,有了实际的模式应用经验再看,会有不同的感悟,一边看一边结合着应用经验来思考。比如:
    1. 设计模式的本质功能是什么?
    2. 它是如何实现的?
    3. 这种实现方式还可以在什么地方可以应用上?
    4. 如何才能把这个设计模式和具体的应用结合上?
    5. 这个设计模式设计的出发点是什么?
    6. 等等,可以有很多考虑的点,从不同角度对设计模式进行思考
  5. 第四步
    多次重复第二步第三步。也就是在实际开发中使用,然后结合理论思考,然后再应用,再思考。。。。如此循环反复多次,直到达到设计模式基本掌握的水平

    简而言之:要注意让设计模式的理论和实践相结合,理论指导实践,实践反过来加深对理论的理解,如此反复循环,成螺旋式上升
    事实上,到了基本掌握设计模式的水平后,最后能达到一个什么样的高度,因人而异,得看个人的思维水平和理解水平,对于这个阶段,只有一个建议,那就是反复的、深入的思考,别无他法,到了思想的层面,就得靠“悟”


5. 讲解模式介绍

  1. 每个模式的讲述结构

    1. ♦初始某个设计模式
      包括这个模式的:定义、结构、参考实现
    2. ♦体会某个设计模式
      包括:场景问题、不用设计模式的解决方案、使用模式的解决方案
    3. ♦理解某个设计模式
      主要是模式讲解部分,包括:认识某个模式、针对各个重点难点功能,或是与实际应用结合的讨论示例、模式的优缺点
    4. ♦思考某个设计模式
      包括:模式的本质、对设计原则的体现、合适选用
  2. 对每一个设计模式进行内容分级

    1. 初级内容
      从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示列等等,让读者能系统、完整、准确的掌握每个模式,培养正确的“设计观”
    2. 中高级内容:
      深入探讨如何理解这些模式,模式中蕴含什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点,和其它模式的关系等等,以其让读者劲量去理解和掌握每个设计模式的精髓所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值