良好的程序设计既是开发者的基本功,又是能力的分水岭。在满足基本功能之外,如何让你的代码简洁高效可复用?除了不断迭代,学习设计模式是最佳捷径。 因为设计模式是被开发人员反复使用试错的经验总结,也是一般问题的最佳解决方案。
然而很多人都会陷入这样的误区:设计模式是抽象知识,只能用于面试;死学样例代码,自己编写时却力不从心;设计模式太单一,无法应对复杂业务问题。扫清这些障碍,才能让设计模式真正为你所用。
你会学到什么?
这个专栏为你设计了最简洁的学习路径,提炼实用的编程技巧,结合实际业务场景,拆解每个模式背后的原理,帮你把抽象的知识,转化为实际的技能。专栏分为以下三个递进的模块:
模块一:编程思维。这一模块是从设计模式中提炼出的高效编程方法论, 比如 Unix 哲学传递出的组合思维,以应对多变的需求;经典的分层思维,帮助你看透现代架构设计;工程思维带你高效率交付可靠的软件产品。为你建立真正的编程思维方式,打牢编程基础,做到真正的高效编程。
模块二:编程原则。精选 10 个重要且基础的程序设计原则, 比如面向对象设计原则(SOLID)、惯例原则(CoC)等,他们相当于编程时遵循的约定习俗,为何会有这样的原则,如何真正发挥它的作用?这些都会通过实例由浅入深进行讲解,并适时总结核心应用技巧,让你在工作中能“开箱即用”。
模块三:编程模式。详细分析 23 种 Java 设计模式如何在实践中去应用, 重点讲解一些和实际场景相关的案例问题,剖析模式出现背后的缘由和解决思路,学完你会对抽象的设计模式有更加直观具体的理解,并掌握相应的编程技巧。
讲师简介
黄靖锋 前京东资深系统架构师
课程目录
文档
[6861] 开篇词 设计模式:程序员的基本功,你离及格还差多少?.mp4
[6862] 01 学习思维:怎样才能学好 Java 设计模式?.mp4
[6863] 02 组合思维:Unix 哲学到底给现代编程带来哪些重要启示?.mp4
[6864] 03 分层思维:为什么要做代码分层架构?.mp4
[6865] 04 工程思维:如何用软件工程方法解决开发难题?.mp4
[6866] 05 对象思维:面向对象编程有哪些优势?.mp4
[6867] 06 迭代思维:如何高效编程?.mp4
[6868] 07 单一原则:如何跳出错误抽象的误区?.mp4
[6869] 08 简单原则:如何写出“简单”代码?.mp4
[6870] 09 最少原则:如何实现“最少知识”代码?.mp4
[6871] 10 表达原则:如何让源代码成为一种逻辑线索?.mp4
[6872] 11 职责原则:如何在代码设计中实现职责分离?.mp4
[6877] 12 面向对象原则:面向对象编程框架到底长什么样?.mp4
[6878] 13 反转原则:如何减少代码间的相互影响?.mp4
[6879] 14 惯例原则:如何提升编程中的沟通效率?.mp4
[6880] 15 分离原则:如何将复杂问题拆分成小问题?.mp4
[6881] 16 契约原则:如何做好 API 接口设计?.mp4
[6882] 17 单例模式:如何有效进行程序初始化?.mp4
[6883] 18 建造者模式:如何创建不同形式的复杂对象?.mp4
[6884] 19 抽象工厂模式:如何统一不同代码风格下的代码级别?.mp4
[6885] 20 工厂方法模式:如何解决生成对象时的不确定性?.mp4
[6886] 21 原型模式:什么场景下需要用到对象拷贝?.mp4
[6887] 22 适配器模式:如何处理不同 API 接口的兼容性?.mp4
[6888] 23 桥接模式:如何实现抽象协议与不同实现的绑定?.mp4
[6889] 24 组合模式:如何用树形结构处理对象之间的复杂关系?.mp4
[6890] 25 装饰模式:如何在基础组件上扩展新功能?.mp4
[6891] 26 门面模式:如何实现 API 网关的高可用性?.mp4
[6892] 27 享元模式:如何通过共享对象减少内存加载消耗?.mp4
[6893] 28 代理模式:如何控制和管理对象的访问?.mp4
[6894] 29 访问者模式:如何实现对象级别的矩阵结构?.mp4
[6895] 30 模板方法模式:如何实现同一模板框架下的算法扩展?.mp4
[6896] 31 策略模式:如何解决不同活动策略的营销推荐场景?.mp4
[6897] 32 状态模式:如何通过有限状态机监控功能的“状态变化”?.mp4
[6898] 33 观察者模式:如何发送消息变化的通知?.mp4
[6899] 34 备忘录模式:如何在聊天会话中记录历史消息?.mp4