使用JavaScript学习设计模式(4)| 小册免费学

423 阅读3分钟

系列文章

回顾

用一个思维导图来回顾一下设计模式的种类,一共分为三类创建型、结构型、行为型, 23 种设计模式。 设计模式.png

综述

(1)面向对象最终的设计目标:

  • A 可扩展性:有了新的需求,新的性能可以容易添加到系统中,不影响现有的性能,也不会带来新的缺陷。

  • B 灵活性:添加新的功能代码修改平稳地发生,而不会影响到其它部分。

  • C 可替换性:可以将系统中的某些代码替换为相同接口的其它类,不会影响到系统。

(2)设计模式的好处:

  • A 设计模式使人们可以更加简单方便地复用成功的设计和体系结构。
  • B 设计模式也会使新系统开发者更加容易理解其设计思路。

(3)学习设计模式有三重境界(网上看到好多次):

  • 第一重: 你学习一个设计模式就在思考我刚做的项目中哪里能用到(手中有刀,心中无刀)

  • 第二重: 设计模式你都学完了,但是当遇到一个问题的时候,你发现有好几种设计模式供你选择,你无处下(手中有刀,心中也有刀)

  • 第三重:也是最后一重,你可能没有设计模式的概念了,心里只有几大设计原则,等用到的时候信手拈来(刀法的最高境界:手中无刀,心中也无刀)

如果按照境界来理解,我也就刚刚触摸到第一重的门槛,其实在学习过程发布订阅模式、策略模式和单例模式时,我就已经想到之前的一些项目当中的某写功能里,如果当时我掌握了这种设计模式,利用设计模式的思想去编写代码可能会写的更好,逻辑也更清晰。近期我也打算将之前的项目中的某些功能翻出来重新使用设计模式的方式去重构一下。

学到就要用到,要不过一段时间就忘了,岂不是白学了?。

学完设计模式我最大的感触就是:某个知识,你如果没学到的话,就永远不知道哪里会用到。

结语

以下是摘抄自掘金小册-JavaScript 设计模式核⼼原理与应⽤实践的结语。

设计模式的征程,到此就告一段落了。但对各位来说,真正的战斗才刚刚开始。设计模式的魅力,不在纸面上,而在实践中。

学设计模式:

  • 一在多读——读源码,读资料,读好书;
  • 二在多练——把你学到的东西还原到业务开发里去。

没有一种设计模式是完美的,设计模式和人一样,处在动态发展的过程中,并不是只有 GOF 提出的 23 种设计模式可以称之为设计模式。

只要一种方案遵循了设计原则、解决了一类问题,那么它都可以被冠以“设计模式”的殊荣。

在各位从设计模式小册毕业之际,希望大家带走的不止是知识,还有好的学习习惯、阅读习惯。最重要的,是深挖理论知识的勇气和技术攻关的决心。这些东西不是所谓“科班”的专利,而是一个优秀工程师的必须。

参考

来自九旬的原创:博客原文链接

本文正在参与「掘金小册免费学啦!」活动, 点击查看活动详情