拉勾趣学设计模式课程介绍:
这个专栏为你设计了最简洁的设计模式学习路径,提炼实用的编程技巧,结合实际业务场景,拆解每个模式背后的原理,帮你把抽象的知识,转化为实际的技能。专栏分为以下三个递进的模块:
模块一:编程思维。这一模块是从设计模式中提炼出的高效编程方法论, 比如 Unix 哲学传递出的组合思维,以应对多变的需求;经典的分层思维,帮助你看透现代架构设计;工程思维带你高效率交付可靠的软件产品。为你建立真正的编程思维方式,打牢编程基础,做到真正的高效编程。
模块二:编程原则。精选 10 个重要且基础的程序设计原则, 比如面向对象设计原则(SOLID)、惯例原则(CoC)等,他们相当于编程时遵循的约定习俗,为何会有这样的原则,如何真正发挥它的作用?这些都会通过实例由浅入深进行讲解,并适时总结核心应用技巧,让你在工作中能“开箱即用”。
模块三:编程模式。详细分析 23 种 Java 设计模式如何在实践中去应用, 重点讲解一些和实际场景相关的案例问题,剖析模式出现背后的缘由和解决思路,学完你会对抽象的设计模式有更加直观具体的理解,并掌握相应的编程技巧。
课程目录:
——/-趣学设计模式/ ├──文档 | ├──[6861] 开篇词 设计模式:程序员的基本功,你离及格还差多少?.md 20.70kb | ├──[6862] 01 学习思维:怎样才能学好 Java 设计模式?.md 21.54kb | ├──[6863] 02 组合思维:Unix 哲学到底给现代编程带来哪些重要启示?.md 22.45kb | ├──[6864] 03 分层思维:为什么要做代码分层架构?.md 20.22kb | ├──[6865] 04 工程思维:如何用软件工程方法解决开发难题?.md 25.43kb | ├──[6866] 05 对象思维:面向对象编程有哪些优势?.md 18.46kb | ├──[6867] 06 迭代思维:如何高效编程?.md 22.38kb | ├──[6868] 07 单一原则:如何跳出错误抽象的误区?.md 17.89kb | ├──[6869] 08 简单原则:如何写出“简单”代码?.md 19.51kb | ├──[6870] 09 最少原则:如何实现“最少知识”代码?.md 18.39kb | ├──[6871] 10 表达原则:如何让源代码成为一种逻辑线索?.md 31.54kb | ├──[6872] 11 职责原则:如何在代码设计中实现职责分离?.md 20.54kb | ├──[6877] 12 面向对象原则:面向对象编程框架到底长什么样?.md 26.73kb | ├──[6878] 13 反转原则:如何减少代码间的相互影响?.md 29.01kb | ├──[6879] 14 惯例原则:如何提升编程中的沟通效率?.md 13.17kb | ├──[6880] 15 分离原则:如何将复杂问题拆分成小问题?.md 25.52kb | ├──[6881] 16 契约原则:如何做好 API 接口设计?.md 19.48kb | ├──[6882] 17 单例模式:如何有效进行程序初始化?.md 21.09kb | ├──[6883] 18 建造者模式:如何创建不同形式的复杂对象?.md 28.89kb | ├──[6884] 19 抽象工厂模式:如何统一不同代码风格下的代码级别?.md 22.92kb | ├──[6885] 20 工厂方法模式:如何解决生成对象时的不确定性?.md 17.90kb | ├──[6886] 21 原型模式:什么场景下需要用到对象拷贝?.md 26.90kb | ├──[6887] 22 适配器模式:如何处理不同 API 接口的兼容性?.md 19.09kb | ├──[6888] 23 桥接模式:如何实现抽象协议与不同实现的绑定?.md 25.32kb | ├──[6889] 24 组合模式:如何用树形结构处理对象之间的复杂关系?.md 26.62kb | ├──[6890] 25 装饰模式:如何在基础组件上扩展新功能?.md 27.07kb | ├──[6891] 26 门面模式:如何实现 API 网关的高可用性?.md 13.53kb | ├──[6892] 27 享元模式:如何通过共享对象减少内存加载消耗?.md 16.80kb | ├──[6893] 28 代理模式:如何控制和管理对象的访问?.md 18.92kb | ├──[6894] 29 访问者模式:如何实现对象级别的矩阵结构?.md 24.27kb | ├──[6895] 30 模板方法模式:如何实现同一模板框架下的算法扩展?.md 22.62kb | ├──[6896] 31 策略模式:如何解决不同活动策略的营销推荐场景?.md 18.43kb | ├──[6897] 32 状态模式:如何通过有限状态机监控功能的“状态变化”?.md 28.47kb | ├──[6898] 33 观察者模式:如何发送消息变化的通知?.md 23.59kb | ├──[6899] 34 备忘录模式:如何在聊天会话中记录历史消息?.md 22.61kb | ├──[6900] 35 中介者模式:如何通过中间层来解决耦合过多的问题?.md 15.63kb | ├──[6901] 36 迭代器模式:如何实现遍历数据时的职责分离?.md 14.56kb | ├──[6902] 37 解释器模式:如何实现一个自定义配置规则功能?.md 13.57kb | ├──[6903] 38 命令模式:如何在一次请求中封装多个参数?.md 17.44kb | ├──[6904] 39 责任链模式:如何解决审核、过滤场景问题?.md 20.22kb | └──[6905] 结束语 扬帆起航,从心开始.md 6.40kb ├──01 学习思维:怎样才能学好 Java 设计模式?.mp4 177.20M ├──02 组合思维:Unix 哲学到底给现代编程带来哪些重要启示?.mp4 194.65M ├──03 分层思维:为什么要做代码分层架构?.mp4 139.38M ├──04 工程思维:如何用软件工程方法解决开发难题?.mp4 222.37M ├──05 对象思维:面向对象编程有哪些优势?.mp4 210.10M ├──06 迭代思维:如何高效编程?.mp4 227.95M ├──07 单一原则:如何跳出错误抽象的误区?.mp4 120.78M ├──08 简单原则:如何写出“简单”代码?.mp4 137.44M ├──09 最少原则:如何实现“最少知识”代码?.mp4 119.13M ├──10 表达原则:如何让源代码成为一种逻辑线索?.mp4 153.51M ├──11 职责原则:如何在代码设计中实现职责分离?.mp4 156.91M ├──12 面向对象原则:面向对象编程框架到底长什么样?.mp4 189.48M ├──13 反转原则:如何减少代码间的相互影响?.mp4 239.01M ├──14 惯例原则:如何提升编程中的沟通效率?.mp4 104.10M ├──15 分离原则:如何将复杂问题拆分成小问题?.mp4 164.91M ├──16 契约原则:如何做好 API 接口设计?.mp4 176.79M ├──17 单例模式:如何有效进行程序初始化?.mp4 152.20M ├──18 建造者模式:如何创建不同形式的复杂对象?.mp4 120.79M ├──19 抽象工厂模式:如何统一不同代码风格下的代码级别?.mp4 173.28M ├──20 工厂方法模式:如何解决生成对象时的不确定性?.mp4 139.22M ├──21 原型模式:什么场景下需要用到对象拷贝?.mp4 176.26M ├──22 适配器模式:如何处理不同 API 接口的兼容性?.mp4 121.73M ├──23 桥接模式:如何实现抽象协议与不同实现的绑定?.mp4 159.41M ├──24 组合模式:如何用树形结构处理对象之间的复杂关系?.mp4 134.03M ├──25 装饰模式:如何在基础组件上扩展新功能?.mp4 130.56M ├──26 门面模式:如何实现 API 网关的高可用性?.mp4 141.48M ├──27 享元模式:如何通过共享对象减少内存加载消耗?.mp4 108.54M ├──28 代理模式:如何控制和管理对象的访问?.mp4 185.58M ├──29 访问者模式:如何实现对象级别的矩阵结构?.mp4 150.90M ├──30 模板方法模式:如何实现同一模板框架下的算法扩展?.mp4 112.25M ├──31 策略模式:如何解决不同活动策略的营销推荐场景?.mp4 110.57M ├──32 状态模式:如何通过有限状态机监控功能的“状态变化”?.mp4 132.19M ├──33 观察者模式:如何发送消息变化的通知?.mp4 123.88M ├──34 备忘录模式:如何在聊天会话中记录历史消息?.mp4 112.84M ├──35 中介者模式:如何通过中间层来解决耦合过多的问题?.mp4 117.88M ├──36 迭代器模式:如何实现遍历数据时的职责分离?.mp4 100.07M ├──37 解释器模式:如何实现一个自定义配置规则功能?.mp4 89.28M ├──38 命令模式:如何在一次请求中封装多个参数?.mp4 113.16M ├──39 责任链模式:如何解决审核、过滤场景问题?.mp4 126.92M ├──结束语 扬帆起航,从心开始.mp4 52.66M └──开篇词 设计模式:程序员的基本功,你离及格还差多少?.mp4 146.11M