设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者
123425 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 113 讲
设计模式与范式:行为型 (18讲)
设计模式之美
15
15
1.0x
00:00/00:00
登录|注册

01 | 为什么说每个程序员都要尽早地学习并掌握设计模式相关知识?

在你过往的项目开发中,有没有用过某种设计模式?是在什么场景下应用的?解决了什么问题?
聊一聊你对设计模式相关知识的重要性的看法
投资要趁早
课堂讨论
为你的职场发展做铺垫
让读源码、学框架事半功倍
提高复杂代码的设计和开发能力
告别写被人吐槽的烂代码
应对面试中的设计模式相关问题
为什么说每个程序员都要尽早地学习并掌握设计模式相关知识

该思维导图由 AI 生成,仅供参考

我相信,很多程序员都已经意识到基础知识的重要性,觉得要夯实基础,才能走得更远,但同时对于如何将基础知识转化成开发“生产力”仍然有些疑惑。所以,你可能看了很多基础的书籍,比如操作系统、组成原理、编译原理等,但还是觉得很迷茫,觉得在开发中用不上,起码在平时的 CRUD 业务开发中用不上。实际上,这些基础的知识确实很难直接转化成开发“生产力”。但是,它能潜移默化地、间接地提高你对技术的理解。
不过,我觉得,设计模式和操作系统、组成原理、编译原理等这些基础学科是不一样的。它虽然也算是一门基础知识,但是它和数据结构、算法更像是一道儿的,相比那些更加基础的学科,设计模式能更直接地提高你的开发能力。我在开篇词里也说了,如果说数据结构和算法是教你如何写出高效代码,那设计模式讲的是如何写出可扩展、可读、可维护的高质量代码,所以,它们跟平时的编码会有直接的关系,也会直接影响到你的开发能力。
不过,你可能还是会觉得设计模式是把屠龙刀,看起来很厉害,但平时的开发根本用不上。基于这种观点,接下来,我们就具体地聊一聊,我们为什么要学习设计模式?

1. 应对面试中的设计模式相关问题

学习设计模式和算法一样,最功利、最直接的目的,可能就是应对面试了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

学习设计模式对程序员来说至关重要。首先,掌握设计模式知识可以提高面试成功率,成为团队中的代码标杆。其次,设计模式能够提高复杂代码的设计和开发能力,帮助程序员写出高质量的代码。此外,学习设计模式还能为职业发展做铺垫,让读源码、学框架事半功倍,提高职场竞争力。因此,学习设计模式不仅能提高开发能力,还能在面试和职业发展中获得更多机会。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《设计模式之美》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(671)

  • 最新
  • 精选
  • 仰望星空
    老师能不能讲讲函数式编程思想,设计模式都是基于面向对象的,而现在更流行函数式编程。

    作者回复: 函数式编程感觉还是没面向对象流行 所以专栏中没讲

    2019-11-04
    3
    20
  • 时光之刃
    希望老师能举一些开源代码中的设计模式,比如netty或者ES等

    作者回复: 可以的 我后面可以考虑多写几篇加餐

    2019-11-05
    11
  • mgs2002
    30多了还来得及吗。。

    作者回复: 来得及啊 加油

    2020-11-29
    2
    4
  • 蓝二哥哥我才是无羡啊👻
    做服务端开发相关工作,对于一个初入职场的小白来说,什么工厂模式单例模式,只有简单的知道概念,看项目都不能明白他们的体现,但最近发现了单例模式在装饰器方面的应用是真的让人印象深刻,从中体会到了编程的乐趣,所以下定决心要好好学习设计模式! 还有老师说的:“你以为你读懂了别人的代码,其实你可能还未领悟到其中的精髓!”我思考一阵,发现好像真的是这样,最近在学习前辈的代码阶段,好像只是懂了代码实现的业务逻辑,并不十分明白为什么要这样去实现,好处在哪,所以想问问老师,怎么才能领悟到别人代码的精髓呢

    作者回复: 内功足够扎实,才能领会别人的代码为什么这么写。

    2019-11-11
    4
  • Geek_5a5d9a
    移动端开发: 常用的设计模式: 单例模式, 代理模式, 观察者模式, 适配器模式, 还有用到一些策略模式

    作者回复: 嗯嗯

    2020-11-13
    1
  • 闪耀之作r
    设计模式什么时候学最好?需要什么基础,有先后顺序分吗?数据结构与算法怎么和设计模式相结合,设计模式不只是java才有,其他的也有,其他的都需要单独学习吗

    作者回复: 现在学最好,会编程即可。两者不需要结合。不需要单独学,设计模式跟编程语言没太大关系。

    2019-11-06
    1
  • 李奇峰
    设计模式在大学的时候通过《Head First 设计模式》这本书学过一段时间,但是工作之后就忘掉了。好像都只是能把业务逻辑完成就可以了,很少用到设计模式的思想去编写代码。

    作者回复: 加油~~~

    2020-11-29
  • 高崇波
    我是做嵌入式开发的主要是用C语言,C语言语法结构上不支持面向对象,但是在思想可以实现面向对象,对这边了解的太少,代码的架构能力太薄弱,每次做项目都是考虑实现功能,没有对代码的扩展性,可维护性等做太多的考虑。希望学习设计模式能够带我提升一个档次

    作者回复: 嗯嗯 加油

    2020-11-28
  • 设计模式是组织代码的艺术,怎么让接盘侠研究代码的时候能专注于一个更小的上下文,怎么面对不断变化的需求,隔离变化,能做可扩展的修改,或者尽量小范围修改。 还记得,那是一个查询路由的东东,对不同查询类型,都会走一溜烟的处理链条,而在链条的每一环,都要判断查询的类型是什么要不要跳过,或者进行特殊化的处理。这样对新增一个查询类型,就意味着要改整个链条。我做的修改是,把查询类型和查询链条做了接耦,为每一种查询装配一种独特的处理链。

    作者回复: ������

    2020-11-21
  • 斐波那契
    设计模式的重要性不用多说 自己体会就好 但是烂代码真的很神烦 老师 现在刚接触一个项目 我个人感觉写的蛮烂的 开发起来各种坑 迭代时间紧 请问 怎么破

    作者回复: 加餐文章有讲到 别急

    2019-11-06
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部