全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

程序员该如何掌握设计模式?看这篇干货总结

发布时间:2023-01-04 11:49:00
发布人:syq

  大家好,今天聊聊设计模式应该怎么学。

  在工作的十几年时间中,很多同学都技术提升很快,能力出众,可是走着走着,就逐渐进入一个瓶颈阶段。大家都希望以最快的方式提升技能水平,而忽略了一项,就是内功心法写修炼。

程序员该如何掌握设计模式

  这让我想起了《天龙八部》中的虚竹,他得到的武功很多是内功心法的传承,因此在很短的时间内就能快速的达到一个别人达不到的高度,反而苦苦执着于武功秘籍的鸠摩智的武功很快的到达了瓶颈。

  说道者大家都应该知道,我们这里所说的内功心法指的是什么了吧, 没错正式《设计模式》,接下来我们再聊聊为什么要学习设计模式。

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

  之前和一些同学聊天,问过他们一些设计模式的问题:

  大家普遍认识不够,大家的反馈都比较统一,比如:学习设计模式不能立竿见影的看到效果,入门简单深入较难,设计模式只有在面试的时候才会看看了解个大概,诸如此类的描述。

  那么我们学习设计模式优什么用,为什么要好在学习设计模式。我们总结总结

  首先,学习设计模式确实能够应付我们面试时的一些问题,能在我们面试过程中锦上添花。

  其次,设计模式能帮我们摆脱烂代码,提高复杂代码的设计和研发能力。我们经常在开发过程中,尤其在设计一个功能的时候,leader经常会review大家的代码,代码风格属于一个人的固定风格,很多同学一写就是好几年,从设计的角度来看确实不像样子,每次都是功能没有问题就ok。举个例子:好比优秀厨师在5星级酒店做饭,大家都爱吃;做饭差的家人都不愿意吃你做的饭一样。

  阅读框架源码,事半功倍。为了在程序上更精进,很多时候我们要阅读源码内容,不管是读的是jdk,spring,netty或者是一些其他源码,他们底层的设计思想很多都是包含了设计模式的身影,我们每次都惊叹别人脑子怎么这么聪明,吃什么长大的,为什么我就想不出来,因为这种设计模式已经植入到别人脑子里了。而你不知道,不熟悉,因此你有些源码都看不懂。设计模式学完后,你会发现,原来源码中应用了这么多的设计模式,我也能读懂,我也可以试一把。

  二.设计模式应该怎么学

  学习一个系列知识需要有相应的学习体系。这段的最后我们会附上设计模式的学习体系。

  1.学习UML设计

  我们首先要学习学习UML设计,在很多场景下我们都需要话UML图来表述逻辑的结构,程序的流程,类之间的关系,程序的拓扑结构。因此学会UML,会让我们更加容易的学习设计模式。

  学习其中比较常用的八种图,分别是:

  用例图、类图、对象图、活动图、状态图、序列图、协作图、部署图

  比如常见的类图:反映类之间的关系

1 (1)

  比如反映参与者一系列顺序步骤的时序图

2 (1)

  2.学习设计原则

  本质上,很多设计模式需要遵循设计原则, 这里我们就设计到了7大设计原则,每一种原则都告诉我们设计程序,应该怎么设计,他的理解层次高于设计模式。

  我们常用的设计原则一共有7种,分别是:单一职责原则、接口隔离原则、依赖倒转(倒置)原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则。

3 (1)

  1.设计模式

  为了更高效的学习,我们将设计模式按照其自身特点分类3类,分别是创建型模式(包含了:单例模式、建造者模式、简单工厂模式、抽象工厂模式、原型模式)、结构型模式(代理模式、装饰模式、适配器模式、组合模式、桥接模式、门面模式、享元模式) 、行为型模式(包含:模板模式、命令模式、责任链模式、策略模式、迭代器模式、中介者模式、观察者模式、备忘录模式、访问者模式、解释器模式)。

  接下来我们就聊聊应该怎么学:

  首先对每一种设计模式的概念有和用户有所了解,知道该设计模式有主要解决了哪些问题

  其次,要能通过UML图,看懂该模式运行流程,分析设计原理

  再者,能通过编码的方式实现该设计模式,或者对原有代码进行重构,看看具体有哪些好处

  还有,需要去认真分析,源码哪里用到这种设计模式,思考为什么这么设计,如果不这么做,会有什么问题

  最后,要思考在哪些场景下我们使用这种设计模式,为什么我们需要使用这个实际模式。而不是生搬硬套,切记必须要有具体的使用场景下使用设计模式,而不要为了实用设计模式而使用他,这是有本质上的区别的。

  三.学习路线

  很多同学已经有去学习设计模式的思考了,但是还是清除如何高效的学习设计模式。

  那么接下来我们需要给大家梳理下学习的路线,学习的思路,以及选用哪些书籍,哪些免费视频教材。

  1.首先,我们先来看看学习的路线:

4 (1)

  2.其次给大家推荐几本我看过比较好的学习设计模式的书籍

  第一本:《设计模式的艺术》, 这本书比较豪读,比较适合基础弱一些的同学看。

5 (1)

  第二本:《设计模式》 这是一款很经典的书籍了,但是对于读者的要求很高,就像初学者我们不推荐《java编程思想一样》,这本书同样是需要有一定基础的同学去看

6 (1)

  第三本:《重学设计模式》,这本书简单有趣,适合初中级程序员,举例清除,代码的可读性较好,也是十分推荐的。

7 (1)

  3.最后给大家推荐一个款录制的视频课程《设计模式详解(图解+框架源码剖析)》,这款课程从基础的为什么学习到,UML设计,在到7大设计原则,最后讲分类详细讲解了23中设计原则。想要获取视频链接的小伙伴可咨询在线名师。

相关文章

做自媒体怎么找到自己的定位?怎么找到自己的定位?

2023-09-19

做自媒体选择哪个方向?从这几个方面去考虑

2023-09-19

自媒体新手需要怎么做?注意事项介绍

2023-09-19

新手做自媒体选择什么领域好?这几个领域适合新手

2023-09-19

带货直播间主播开场白话术怎么说?有哪些话术?

2023-09-19

当直播间没人说话主播怎么办?要怎么办?

2023-09-19
在线咨询 免费试学 教程领取