zoukankan      html  css  js  c++  java
  • 简单明了的设计模式-立意篇

    1.岁月的沉淀

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

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

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

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

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

    因为设计模式不会过时。

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

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

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

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

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

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

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

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

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

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

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

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

    2.设计模式的分类

    设计模式一共23个。

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

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

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

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

    具体情况如下图:

    file

    3.磨一下刀

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

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

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

    这个就放到下次说吧。

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

  • 相关阅读:
    20180130工作总结
    高并发情况利用锁机制处理缓存未命中
    Git学习(二)
    Git学习(一)
    Navicat运行sql文件报错out of memory
    Windows中杀死某个端口的进程
    Git入门基本操作
    MySQL数据库安装与配置详解
    用户模块开发
    数据库系列学习(三)-数据的增、删、改
  • 原文地址:https://www.cnblogs.com/bailiyi/p/13663673.html
Copyright © 2011-2022 走看看