课程背景
良好的程序设计既是开发者的基本功,又是能力的分水岭。在满足基本功能之外,如何让你的代码简洁高效可复用?除了不断迭代,学习设计模式是最佳捷径。 因为设计模式是被开发人员反复使用试错的经验总结,也是一般问题的最佳解决方案。
然而很多人都会陷入这样的误区:设计模式是抽象知识,只能用于面试;死学样例代码,自己编写时却力不从心;设计模式太单一,无法应对复杂业务问题。扫清这些障碍,才能让设计模式真正为你所用。
你会学到什么?
这个专栏为你设计了最简洁的学习路径,提炼实用的编程技巧,结合实际业务场景,拆解每个模式背后的原理,帮你把抽象的知识,转化为实际的技能。专栏分为以下三个递进的模块:
模块一:编程思维。这一模块是从设计模式中提炼出的高效编程方法论, 比如 Unix 哲学传递出的组合思维,以应对多变的需求;经典的分层思维,帮助你看透现代架构设计;工程思维带你高效率交付可靠的软件产品。为你建立真正的编程思维方式,打牢编程基础,做到真正的高效编程。
模块二:编程原则。精选 10 个重要且基础的程序设计原则, 比如面向对象设计原则(SOLID)、惯例原则(CoC)等,他们相当于编程时遵循的约定习俗,为何会有这样的原则,如何真正发挥它的作用?这些都会通过实例由浅入深进行讲解,并适时总结核心应用技巧,让你在工作中能“开箱即用”。
模块三:编程模式。详细分析 23 种 Java 设计模式如何在实践中去应用, 重点讲解一些和实际场景相关的案例问题,剖析模式出现背后的缘由和解决思路,学完你会对抽象的设计模式有更加直观具体的理解,并掌握相应的编程技巧。
讲师简介
黄靖锋 前京东资深系统架构师
毕业于成都电子科技大学计算机专业,先后在华为、京东工作,深入研究算法与编程近十年。作为前京东资深系统架构师,从事过工具&算法平台、运营平台、AI 智能客服、性能优化等相关系统的研发工作。现任某互联网公司资深系统架构师,负责公司核心业务的架构设计和开发工作。
课程目录
开篇词
开篇词 | 设计模式:程序员的基本功,你离及格还差多少?
模块一:理解软件编程背后的系统化思维
01 | 学习思维:怎样才能学好 Java 设计模式?
02 | 组合思维:Unix 哲学到底给现代编程带来哪些重要启示?
03 | 分层思维:为什么要做代码分层架构?
04 | 工程思维:如何用软件工程方法解决开发难题?
05 | 对象思维:面向对象编程有哪些优势?
06 | 迭代思维:如何高效编程?
模块二:从设计原则中领悟编程技能
07 | 单一原则:如何跳出错误抽象的误区?
08 | 简单原则:如何写出“简单”代码?
09 | 最少原则:如何实现“最少知识”代码?
10 | 表达原则:如何让源代码成为一种逻辑线索?
11 | 职责原则:如何在代码设计中实现职责分离?
12 | 面向对象原则:面向对象编程框架到底长什么样?
13 | 反转原则:如何减少代码间的相互影响?
14 | 惯例原则:如何提升编程中的沟通效率?
15 | 分离原则:如何将复杂问题拆分成小问题?
16 | 契约原则:如何做好 API 接口设计?
模块三:拆解 23 种 Java 设计模式的实现原理
17 | 单例模式:如何有效进行程序初始化?
18 | 建造者模式:如何创建不同形式的复杂对象?
19 | 抽象工厂模式:如何统一不同代码风格下的代码级别?
20 | 工厂方法模式:如何解决生成对象时的不确定性?
21 | 原型模式:什么场景下需要用到对象拷贝?
22 | 适配器模式:如何处理不同 API 接口的兼容性?
23 | 桥接模式:如何实现抽象协议与不同实现的绑定?
24 | 组合模式:如何用树形结构处理对象之间的复杂关系?
25 | 装饰模式:如何在基础组件上扩展新功能?
26 | 门面模式:如何实现 API 网关的高可用性?
27 | 享元模式:如何通过共享对象减少内存加载消耗?
28 | 代理模式:如何控制和管理对象的访问?
29 | 访问者模式:如何实现对象级别的矩阵结构?
30 | 模板方法模式:如何实现同一模板框架下的算法扩展?
31 | 策略模式:如何解决不同活动策略的营销推荐场景?
32 | 状态模式:如何通过有限状态机监控功能的“状态变化”?
33 | 观察者模式:如何发送消息变化的通知?
34 | 备忘录模式:如何在聊天会话中记录历史消息?
35 | 中介者模式:如何通过中间层来解决耦合过多的问题?
36 | 迭代器模式:如何实现遍历数据时的职责分离?
37 | 解释器模式:如何实现一个自定义配置规则功能?
38 | 命令模式:如何在一次请求中封装多个参数?
39 | 责任链模式:如何解决审核、过滤场景问题?
结束语
结束语 | 扬帆起航,从心开始
讲师介绍
黄靖锋,前京东资深系统架构师
毕业于成都电子科技大学计算机专业,先后在华为、京东工作,深入研究算法与编程近十年。作为前京东资深系统架构师,从事过工具&算法平台、运营平台、AI 智能客服、性能优化等相关系统的研发工作。现任某互联网公司资深系统架构师,负责公司核心业务的架构设计和开发工作。
「趣学设计模式,告别烂代码...为编程“艺术家”」
知识宝库 - 支付
查看隐藏内容,需支付
2金币 !
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。