美文网首页
学习设计模式所想到的

学习设计模式所想到的

作者: ppt315 | 来源:发表于2018-05-24 11:19 被阅读0次

    学习设计模式带来的思考

    软件总是会变化的。

    抽象出来的部分应该是稳定的,如果你需要修改抽象部分,那就说明抽象是失败的。
    但是你怎么知道目前的抽象是稳定的呢? 世上并没有先知。
    可以认为抽象有保质期,高手做出的抽象保质期长,而低手做出的抽象保质期短。
    终究有保质期。

    软件总要提供引入修改的地方或者叫提供适配变化的的地方。
    找到变化的因素,反复权衡软件的分离点,这也是单一职责的精髓所在。
    把易变的部分圈出来,减少变更的关注点。

    如何学习设计模式

    设计模式看了一遍书,当时可能也理解到了具体模式的核心思想,但是过不了多久就又忘记了。
    然后又去看一遍书,反反复复,人生就在这种反复中过完了。

    如何学好设计模式?

    往大了想,如何学习一门软件技术?如何学习学习一个概念?如何学习怎么学习?
    这里我们先收回来,集中在如何学习设计模式。你当然可以把你知道的任何学习方法用在学习设计模式上面。

    人从外观看起来是一样的,但是由于背景的区别,人与人之间的区别很大,表现在心智模式的不同。 也许不同人的大脑也是有细微差别的,身理的差异导致天才可能真的存在。你应该有你自己的学习方法。但是人类也应该能抽象出人类共有的学习方式。

    我这里困惑的是,我们需要反复去看设计模式的定义,理解它们的含义,一遍又一遍。这是低效的行为。

    那可能你会问,你想学习到什么程度?你的目标在哪里?

    我期望当别人说他在软件实现中用到了某种模式的时候,我的大脑里就能立即放映出大概的逻辑关系。当我需要实现某个软件需求的时候,设计模式都会跑出来,让我在头脑中筛选适合的模式甚至创造出合适的模式。当我在阅读别人代码时候,我能很快嗅到设计模式的踪迹,进而帮我更快的理解代码表达的意图。

    你要怎样学习设计模式才能达成上述目标呢?

    背诵定义,我不确定这个是不是一个好的方法。我想到了小时候背九九乘法口诀表。我们当时并没有理解乘法的内涵,也行根本就不存在所谓的内涵。但是我们就是硬生生的背诵了下来,以至于对我们后面的数字计算帮助巨大。

    时时回味,当脑袋装满了各种设计模式,在上班的路上,在洗澡的时候,甚至上厕所的时候,它们可能就会蹦跶出来,让你反复的揣度。它们和你最近阅读的代码,最近写的代码进行激烈碰撞进而加深对它们的理解,让你能更好的设计出合适的软件。

    忘记设计模式,这一说法显得玄幻了点。准确说应该是一种内化,让各种设计模式住在你的潜意识。当你设计软件的时候它们不自觉的出现了,你认为把它们是了一种理所当然,甚至以为是你天生的直觉。

    相关文章

      网友评论

          本文标题:学习设计模式所想到的

          本文链接:https://www.haomeiwen.com/subject/zkfnyttx.html