其他
往期精选(欢迎转发~~)消息队列:从选型到原理,一文带你全部掌握肝了一个月的ETCD,从Raft原理到实践我肝了三个月,为你写出了GO核心手册领域驱动设计:从理论到实践,一文带你掌握DDD!还在抱着书啃设计模式么,本文汇总10种常见的设计模式,告诉你如何学习。最开始学习设计模式,是读研期间,买了本最经典的《设计模式:可复用面向对象软件的基础》,风风火火搞起来,第一遍没看懂,又来一遍,23个设计模式,前后反复看了3遍,还做了笔记,后来。。。嗯嗯。。。好像全忘了等到要去面试的时候,再翻一下,找几个熟悉的,当时又热乎了一阵,等下一次再跳槽的时候,我的设计模式呢?得再翻一下,只记得个工厂和单例,其它的都忘光了。所以前几年学习设计模式,给我的感觉就是,忘了看,看了忘,如果一直这样,那学习设计模式的意义在哪?问题又出在哪个地方呢?其实问题的点,在于我们一次性看太多,还没有实操,那怎么学呢?其实不难,先掌握3-5个重点的设计模式,然后到项目中去实操(或者把之前写的代码用设计模式重构),就能妥妥掌握。至于剩下的设计模式,可以等工作中遇到了,再慢慢去学习,不过前提是需要对常用的设计模式有所了解,要不然等你遇到了,但是不知道属于哪种类型,学习起来也比较被动。所以设计模式的学习不在于多,在于精,那哪些是必须掌握的呢,下面都给你列出来,省得你再去找。工厂和单例就不说了,其它的比如“模板模式”、“策略模式”、“代理模式”、“组合模式”,项目中经常遇到,所以这些是必须要掌握的,看下面的思维导图:温馨提示:设计模式虽好,但不要迷恋,借鉴思想,好用最重要!模板模式&策略模式我们以常用的策略、模板模式开头,技术有点枯燥,先讲个笑话:有个记者去南极采访一群企鹅,他问第一只企鹅:“你每天都干什么?”企鹅说:“吃饭,睡觉,打豆豆!”接着又问第2只企鹅,那只企鹅还是说:“吃饭,睡觉,打豆豆!”记者带着困惑问其他的企鹅,答案都一样,就这样一直问了99只企鹅。当走到第100只小企鹅旁边时,记者走过去问它:每天都做些什么啊?那只小企鹅回答:"吃饭,睡觉."记者惊奇的又问:"你怎么不打豆豆?"小企鹅撇着嘴巴,瞪了记者一眼说:"我就是豆豆!"最Low方式