简单明了的设计模式-立意篇

1.岁月的沉淀

我们为什么要学设计模式?

如果是在我刚成为程序员的时候,我大概会这么回答:

因为设计模式是前人经验的总结,可以用来解决特定环境下,重复出现的特定问题。

同时也是程序员进阶的必备知识

上面的说法当然没有错,但是如果让现在的我来回答,我会加上这几句:

因为设计模式不会过时。

是的,在工作多年以后,看见各种技术如大浪淘沙一般从兴起到衰落,看见主流技术栈两三年就换血一次,我不禁陷入了深深的担心:如果我学不动了怎么办?

特别是在年龄渐长之后,虽然大多数技术都有相通之处,想要快速掌握并不难。可是细微之处却也有不少坑,真用起来,踩坑肯定也是少不了的。

所以渐渐的,我开始寻找那些不变的东西,寻找在这些让人眼花缭乱的技术背后,在漫长岁月中真正能沉淀下来的东西。

不错,我想你已经猜到了,就是那些老生常谈的东西,大学时老师曾经无数次在我耳边强调的东西:

数据结构、算法、设计模式…...

最质朴的东西往往最珍贵,古人诚不欺我,哈哈。

作为一名普通的码农,数据结构和算法平时接触不多,真正用的多的,还是设计模式。

  • 设计一个功能模块要用到设计模式,否则根本没法维护

  • 扒开源项目的源码要懂设计模式,否则有可能看不懂

  • 代码review也会用到,虽然不直接用模式,但是会用到原则

所以,对我而言,设计模式已经成为挡在身前的一座山,要么跨过去,要么永远止步于此。

所以有了简明设计模式的写作计划,愿我们都能征服这座大山,最后同立山巅,看日升日落,云卷云舒。

2.设计模式的分类

设计模式一共23个。

其实设计模式之间也有很多共性和差异,为了方便理解和记忆,一般来说会分为三类:

  • 创建型模式:抽象了对象实例化过程,用来帮助创建对象的实例

  • 结构型模式:描述如何组合类和对象以获得更大的结构

  • 行为型模式:描述算法和对象间职责的分配

具体情况如下图:

file

3.磨一下刀

所谓磨刀不误砍柴工,在学习设计模式之前,我们还需要掌握两种武器:设计原则和UML类图

学习UML类图,是为了能够更好的理解设计模式的结构

学习设计原则,则是为了知道设计模式为什么要这么设计

这个就放到下次说吧。

本文由博客一文多发平台 OpenWrite 发布!

posted @ 2020-09-13 22:03  百里弈  阅读(237)  评论(0编辑  收藏  举报