课程简介
目前国内的大部分程序员学习设计模式和原则之后,往往是不知道如何使用模式,或者滥用模式(言必称模式),最终放弃不用模式,这样三个阶段,最终导致设计模式思想还远没有真正广泛应用,更没有起到应有的作用,因而导致很多对设计模式的误解(学习设计模式无用论).该课程就是针对学习设计模式这3个经典错误问题而开设的。
作为一门高级课程,若内容缺乏实务便易流于抽象与空泛。本课程除了深入剖析各种典型的设计模式之原理与结构外, 同时会抽取大量知名程序库中的设计模式,利用其源码辅助并加强原理讲解。并且结合讲师大量实际项目案例进行分析。这种方式对于设计模式的学习有着极大效果。与其它的仍然沿用传统模式目录方式逐一讲述每一模式的意图,结构,适应性等的培训和图书完全不同。
课程收益
1、帮助学员了解设计模式思想和原理;
2、帮助学员掌握面向对象设计原则;
3、帮助学员掌握15种GOF常用设计模式
受众人群
该课程适合各类 IT/软件企业和研发机构的软件架构师、软件设计师、程序员。特别能够带着设计模式实践时的困惑和问题,效果最佳。到时可以与讲师PK讨论,这样对你帮助会更大,收获也会更多。本课程不是设计模式入门级别课程, 不会目录式介绍每一模式的详细细节, 因此需要学员课前做好相关准备,最好已经具备模式概念和常见模式的基本知识。
课程周期
3天(18H)
课程大纲
标题 | 授课内容 |
第一篇: 设计模式-设计原理与面向对象设计思维 第一单元、为什么需要设计模式 | 1. 软件设计模式---模式到底是什么?价值在哪里? (1) 什么是模式 (2) 为什么需要设计模式? 难道就为了面试吗? (3) 设计模式能够给我们带来什么? (4) 设计模式学习面临的困难和解决思路 (5) 从了解模式到正确应用模式 (6) 练习---某电信业务系统,在使用模式前解决方案 和 使用模式后的对比 2. 软件设计模式本质—你真的知道模式背后的原理吗? (1) 发现变化进行封装变化 (2) 把变化与不变必须分离 (3) 针对接口的编程,而不是针对实现 (4) 组合优于继承 (5) 练习—某电信认证项目设计分析,分析模式背后的本质 3. 什么是好的设计-----难道使用设计模式就是好的设计吗? (1) 什么是好的设计? (2) 难道不使用设计模式就是坏的设计吗? (3) 为什么需求变化总是使你痛苦? 和你的设计有关系吗? (4) 好的系统设计应该有如下的性质:可扩展性、灵活性、可插入性。 (5) 设计模式可以使你的设计更灵活,更易复用,更具可扩展性 (6) 练习—某电信项目4种设计方案的对比, 那种更合适?多种方案的对比 |
第一篇: 设计模式-设计原理与面向对象设计思维 第二单元、面向对象设计思维与原理 | 1. 面向对象思维是模式基础 (1) 面向对象分析与设计的本质 (2) 面向对象设计思维与面向过程设计思维—职责驱动设计 (3) 抽象本质 (4) 封装本质 (5) 继承本质 (6) 多态本质 (7) 面向对象常见的错误认识—思考OO带来的价值 (8) 为什么学习设计模式需要面向对象思维 (9) 从面向对象到模式到再到真正的面向对象 (10) 练习—某ERP项目, 使用面向对象设计和过程化设计 PK,,难道面向对象就一定是最优的? 你真正理解面向对象吗? 面向对象到底真正有哪些好处, 不要人云亦云 ! 2. 面向对象设计原则(principles) (1) 依赖倒置原则(DIP) (2) 开放封闭原则(OCP) (3) 单一职责原则(SRP) (4) Liskov 替换原则(LSP) (5) 接口隔离原则(ISP) (6) 练习—每组原则,分别通过案例进行分析,为什么需要使用原则进行考虑 |
第二篇: 设计模式精讲------创建型 第三单元、创建型模式 | 1. 创建型模式(principles) (1) 简单创建型工厂 (2) Factory Method(工厂方法) (3) Abstract Factory(抽象工厂) (4) Builder(生成器) (5) Prototype(原型) (6) Singleton(单件) (7) 创建型模式的讨论 |
第二篇: 设计模式精讲------创建型 第四单元、创建型模式精讲 | 1. 简单工厂模式 (1) 简单工厂模式概述 (2) 简单工厂模式结构与实现 (3) 简单工厂模式结构 (4) 简单工厂模式实现 (5) 简单工厂模式应用实例 (6) 关于创建对象与使用对象 (7) 简单工厂模式的简化 (8) 简单工厂模式优/缺点与适用环境 (9) 简单工厂模式优点 2. 工厂方法模式 (1) 工厂方法模式概述 (2) 工厂方法模式结构与实现 (3) 工厂方法模式结构 (4) 工厂方法模式实现 (5) 工厂方法模式应用实例 (6) 工厂方法模式优/缺点与适用环境 (7) 工厂方法模式优点 3. 抽象工厂模式 (1) 产品等级结构与产品族 (2) 抽象工厂模式概述 (3) 抽象工厂模式结构与实现 (4) 抽象工厂模式结构 (5) 抽象工厂模式实现 (6) 抽象工厂模式应用实例 4. 单例模式模式 (1) 单例模式概述 (2) 单例模式结构与实现 (3) 单例模式结构 (4) 单例模式实现 (5) 单例模式应用实例 (6) 饿汉式单例与懒汉式单例 (7) 单例模式优/缺点与适用环境 (8) 单例模式优点 5. 其他创建型模式 (1) Builder(生成器)模式概述 (2) Builder(生成器)模式结构与实现 (3) Prototype(原型)模式概述 (4) Prototype(原型)式结构与实现 6. 创建型模式的应用案例分析 (1) 创建型的应用案例分析 |
第三篇: 设计模式精讲------结构性型 第五单元、结构型模式 | 1. 结构型模式(principles) (1) Adapter(适配器)—类对象结构型模式 (2) Bridge(桥接)—对象结构型模式 (3) Composite(组成)—对象结构型模式 (4) Decorator(装饰)—对象结构型模式 (5) FACADE(外观)—对象结构型模式 (6) Flyweight(享元)—对象结构型模式 (7) Proxy(代理)—对象结构型模式 (8) 结构型模式的讨论 (9) Adapter与Bridge对比与分析 (10) Composite、Decorator与Proxy 对比与分析 |
第三篇: 设计模式精讲------结构性型 第六单元、结构型模式精讲 | 1. 适配器模式 (1) 适配器模式概述 (2) 对象适配器和类适配器 (3) 适配器模式结构与实现 (4) 适配器模式应用实例 (5) 缺省适配器模式 (6) 双向适配器 (7) 适配器模式优/缺点与适用环境 2. 组合模式 (1) 组合模式概述 (2) 组合模式结构与实现 (3) 组合模式应用实例 (4) 透明组合模式与安全组合模式 (5) 组合模式优/缺点与适用环境 (6) 组合模式优点 (7) 组合模式缺点 (8) 组合模式适用环境 3. 装饰器模式 (1) 装饰模式概述 (2) 装饰模式结构与实现 (3) 装饰模式应用实例 (4) 透明装饰模式与半透明装饰模式 (5) 装饰模式优/缺点与适用环境 4. Facde外观模式 (1) 外观模式概述 (2) 外观模式结构与实现 (3) 外观模式应用实例 (4) 抽象外观类 (5) 外观模式优/缺点与适用环境 (6) 外观模式适用环境 5. 结构性模式应用案例 (1) 结构型概述应用案例 |
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员