设计模式精解与案例分析
Mace Liu 查看讲师
百林哲咨询(北京)有限公司专家团队成员
曾任职BEA(中国)资深软件架构师,十余年的企业软件架构、开发和管理经验, 侧重于企业应用软件架构设计.主要负责客户大型项目的架构设计和研发。
浏览:5196次
详情 DETAILS

简介

目前国内的大部分程序员学习设计模式和原则之后,往往是不知道如何使用模式,或者滥用模式(言必称模式),最终放弃不用模式,这样三个阶段,最终导致设计模式思想还远没有真正广泛应用,更没有起到应有的作用,因而导致很多对设计模式的误解(学习设计模式无用论).该课程就是针对学习设计模式这3个经典错误问题而开设的。作为一门高级课程,若内容缺乏实务便易流于抽象与空泛。本课程除了深入剖析各种典型的设计模式之原理与结构外, 同时会抽取大量知名程序库中的设计模式,利用其源码辅助并加强原理讲解。并且结合讲师大量实际项目案例进行分析。这种方式对于设计模式的学习有着极大效果。与其它的仍然沿用传统模式目录方式逐一讲述每一模式的意图,结构,适应性等的培训和图书完全不同。

受众人群

该课程适合各类 IT/软件企业和研发机构的软件架构师、软件设计师、程序员。特别能够带着设计模式实践时的困惑和问题,效果最佳。到时可以与讲师PK讨论,这样对你帮助会更大,收获也会更多。本课程不是设计模式入门级别课程, 不会目录式介绍每一模式的详细细节, 因此需要学员课前做好相关准备,最好已经具备模式概念和常见模式的基本知识。

课程特色

课程注重实战,不尚空谈,首次提出了解决设计模式如何应用的5个步骤。5个步骤针对应用设计模式的不同错误症状,解决如何应用模式,知道模式是什么和真正理解什么时候去应用模式,就完全是不同的境界。以上步骤,都借助于真实项目案例(不是简单的演示之类的Demo,而是真实的系统),展示如何在实际开发之中正确的选择和运用模式,在这些案例之中,在设计时应用模式能看到实实在在的效果(每个案例,均有PK使用之前和使用之后对比)。

分享提纲

主题
授课内容
设计模式思想与困惑---你的了解设计模式吗?

内容一:软件设计模式---模式到底是什么?价值在哪里?

1.什么是模式

2.为什么需要设计模式? 难道就为了面试吗?

3.设计模式能够给我们带来什么?

4.设计模式学习面临的困难和解决思路

5.从了解模式到正确应用模式

6.案例分析---某电信业务系统,在使用模式前解决方案 和 使用模式后的对比

内容二:软件设计模式本质—你真的知道模式背后的原理吗?

1.发现变化进行封装变化

2.把变化与不变必须分离

3.针对接口的编程,而不是针对实现

4.组合优于继承

5.案例分析—某电信认证项目设计分析,分析模式背后的本质

内容三:什么是好的设计-----难道使用设计模式就是好的设计吗?

1.什么是好的设计?

2.难道不使用设计模式就是坏的设计吗?

3.为什么需求变化总是使你痛苦? 和你的设计有关系吗?

4.的系统设计应该有如下的性质:可扩展性、灵活性、可插入性。

5.设计模式可以使你的设计更灵活,更易复用,更具可扩展性

6.案例分析—某电信项目4种设计方案的对比, 那种更合适?多种方案的对比
设计模式应用策略1—面向对象思维

内容一:面向对象思维是模式基础

1.面向对象分析与设计的本质

2.面向对象设计思维与面向过程设计思维—职责驱动设计

3.抽象本质

4.封装本质

5.继承本质

内容二:面向对象设计原则(principles)

1.依赖倒置原则(DIP)

2.开放封闭原则(OCP)

3.单一职责原则(SRP)

4.Liskov替换原则(LSP)

5.接口隔离原则(ISP)

6.案例分析—每组原则,分别通过案例进行分析,为什么需要使用原则进行考虑

设计模式应用策略2—嵌入式C语言如何使用设计模式


内容一:OO思想与标准C语言应用

1.了解模式-需要知道自己不知道

2.C程序的基本组成

3.C语言的数据类型

4.C的数据运算

5.结构(struct)及动态内存分配

内容二:嵌入式C语言应用设计模式

1.面向对象的视角,重新审视嵌入式系统,全面总结了嵌入式系统中常见的以及关键的设计模式

2.嵌入式C语言应用设计模式的不同

3.以下以嵌入式项目为案例分析,应用设计模式

4.硬件代理模式

5.硬件适配器模式


设计模式应用策略3—临摹大师


内容一:研读经典系统—学习那些大牛如何使用设计模式

1.学习设计模式后,可是无法使用在真实项目的症状

2.分析经典作品,重新思考设计模式的威力

3.研读设计模式的关键要素

内容二:模式案例–Junit设计模式应用分析

1.Erich Gamma和KentBeck的Junit

2.Junit架构思路(微内核模式)

3.Juint的设计, 哪些值得我们学习

4.设计JUnit的过程中是怎样应用设计模式的。

5.学习设计模式(Command/Composite/Template Method/ Adapter/Observer/Decorate )

6.通过研读经典学习到什么?


设计模式应用策略4— 你知道如何用模式去思考吗

 


内容一:用模式思考系统设计

1.基于模式的设计系统

2.用模式思考的过程

3.模式的应用层次和组合应用模式

4.基于模式的方法和步骤

内容二:模式案例–XXXX缓存系统

1.项目系统背景和需求

2.缓存任何对象,任何java对象都可以缓存。

3.拥有全面的API--给你全面的程序来控制所有的缓存的特性。

4.永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to-create)数据来保持缓存,甚至能让应用重启。

5.支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。


企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1