刘捷 曾任BEA中国专业服务部 高级架构师顾问
现任职Oracle架构咨询顾问,帮企业诊断架构性能问题,曾任职BEA(中国)资深软件架构师,十余年的企业软件架构、开发和管理经验, 侧重于企业应用软件架构设计.主要负责客户大型项目的架构设计和研发。
作为技术专家保证项目的成功实施,运行和维护。参加过全国/全省多个大型的计算机应用项目,擅长的领域包括电信,金融、税务,大型互联网web2.0应用等。此前就职于IBM,任软件架构师。 在此之前曾任日本东京一家软件企业的资深技术顾问。
技术能力:
DB,UNIX,J2EE,SOA,WebLogic Server, WebLogic Integration, WebLogic Portal相关的架构设计。
课程背景
2010年是<设计模式>一书出版15周年. 如今,对于很多人来说,设计模式已经成为开发标准词典的一部分.15年来,设计模式思想影响了整整一代软件从业者.而且可以预料,它的影响还将继续下去.可是目前国内的大部分程序员学习设计模式和原则之后,往往是不知道如何使用模式,或者滥用模式(言必称模式),最终放弃不用模式,这样三个阶段,最终导致设计模式思想还远没有真正广泛应用,更没有起到应有的作用,因而导致很多对设计模式的误解(学习设计模式无用论).该课程就是针对学习设计模式这3个经典错误问题而开设的.
作为为一门高级课程,若内容缺乏实务便易流于抽象与空泛。 本课程除了深入剖析各种典型的设计模式之原理与结构外, 同时会抽取大量知名程序库中的设计模式,利用其源码辅助并加强原理讲解。并且结合讲师大量实际项目案例进行分析. 这种方式对于设计模式的学习有着极大效果。 与其它的仍然沿用传统模式目录方式逐一讲述每一模式的意图,结构,适应性等的培训和图书完全不同.
课程1/3的时间介绍设计模式思想和原理,1/3时间案例,并且要求学员组合成小组进行现场设计. 最后1/3时间再介绍该案例的设计过程,讲师带领大家一起对设计结果进行分析,指出不”和谐”的地方,通过逐步运用模式,改善设计. 而不是把最完美的答案一下子放到学员的面前,让你佩服.并且分析为什么使用模式,而不是过度设计,为什么又要放弃模式. 因为了解优秀软件设计的演变过程比学习优秀设计本身更有价值,因为设计的演变过程之中蕴藏着大智慧.培训时根据实际情况,可以安排学员自己的项目代码或者设计作为课程案例进行分析和设计.
培训对象
该课程适合各类 IT/软件企业和研发机构的软件架构师、软件设计师、程序员。特别能够带着设计模式实践时的困惑和问题,效果最佳. 到时可以与讲师PK讨论,这样对你帮助会更大,收获也会更多.本课程不是设计模式入门级别课程, 不会目录式介绍每一模式的详细细节, 因此需要学员课前做好相关准备,最好已经具备模式概念和常见模式的基本知识.最好课前可以简单预习
培训特色
本课程注重实战,不尚空谈.讲师根据本人的学习过程和经验来介绍如何解决这些问题. 课程不仅仅介绍经典的GOF设计模式,而且涉及常见的其它模式和软件架构模式.
该课程首次提出了解决设计模式如何应用的5个步骤。5个步骤针对应用设计模式的不同错误症状,解决如何应用模式.知道模式是什么和真正理解什么时候去应用模式,就完全是不同的境界.以上步骤,都借助于真实项目案例(不是简单的演示之类的Demo,而是真实的系统),展示如何在实际开发之中正确的选择和运用模式,在这些案例之中,在设计时应用模式能看到实实在在的效果(每个案例,均有PK使用之前和使用之后对比).
学员基础
由于本次课程重点设计模式如何应用,不会过多时间学习设计模式基本概念/结构/意图等, 因此需要学员课前做好相关准备,以节约课程案例的思考时间.
以下原则和模式最好预先了解
6个大型项目案例涉及软件原则和模式 |
面向对象设计原则 |
单一职责原则 (SRP) 变化分离 “开-闭”原则(OCP)对可变性封装 里氏替换原则(LSP)如何进行继承 接口隔离原则(ISP) 恰当的划分角色和接口 依赖倒转原则(DIP) 针对接口编程 |
GOF设计模式 |
Singleton模式/Builder模式/Simple Factory模式 Factory Method模式/ Strategy/Observer/Chain of Responsibility/Command/Template Method/Adapter/Proxy/Façade/Bridge/Decorator/Composite/Visitor 课程案例主要涉及15种GOF常用设计模式,也重点学习这些模式 |
C嵌入式编程设计模式 |
基本的嵌入式设计模式/硬件代理模式/硬件适配器模式/中介者模式/观察者模式/去抖动模式/中断模式 |
其它设计模式 |
Object Pool模式/Dependency Injection依赖注入/Null Object模式/Plug-In模式/Active Object模式/Abstract Server模式 虽然不属于GOF,但是经常在软件设计时使用.案例也涉及 |
架构模式 |
Pipe Filter架构模式/Layer架构模式/Microkernel Pattern/MVC/ 案例涉及这些架构模式,在高层设计 |
培训内容
授课内容 |
设计模式思想与困惑---你的了解设计模式吗? |
内容一:软件设计模式---模式到底是什么?价值在哪里?
内容二:软件设计模式本质—你真的知道模式背后的原理吗?
内容三:什么是好的设计-----难道使用设计模式就是好的设计吗?
|
设计模式应用策略1—面向对象思维 |
内容一:面向对象思维是模式基础
内容二:面向对象设计原则(principles)
GOF23设计模式是建立在对面向对象技术深刻理解的基础之上的,本节深入讲解面向对象设计,几大经典的面向对象设计原则,OO对象模型,从各个角度奠定学习设计模式之核心基础 |
设计模式应用策略2—嵌入式C语言如何使用设计模式 通过将面向对象程序设计技术与C语言相结合,以提升C语言的简洁性、易读性和重复使用性,进而提升嵌入式系统分析及架构设计的技术能力。 |
内容一:OO思想与标准C语言应用
内容二:嵌入式C语言应用设计模式
本节深入阐述GOF 23种经典设计模式(包括创建型模式、结构型模式、行为型模式),深入解析它们的意图、动因、原理、实现与应用实践。 |
设计模式应用策略3—设计模式基础 |
|
设计模式应用策略4—临摹大师 看看那帮牛的大师他们怎样使用设计模式的 ,他们也是在滥用设计模式吗? |
内容一:研读经典系统—学习那些大牛如何使用设计模式
内容二:模式案例–Junit设计模式应用分析
|
设计模式应用策略5— 你知道如何用模式去思考吗 有时放弃模式更值得学习 |
内容一:用模式思考系统设计
内容三:模式案例–XXXX缓存系统
|
设计模式应用策略6—重构到模式 通过重构实现模式改善既有的设计,往往优于在新的设计早期使用模式。 |
内容一:重构到模式-
内容二:案例- 遗留系统如何使用设计模式
内容三:案例- 某电信管理子系统的设计
“虽然软件的演化,利用重构从而得到模式”是有效应用设计模式的实践准则。本节以一些重构技巧来展示如何通过演化的方式来步步达至设计模式,从而帮助学员更好地掌握如何在软件设计中运用设计模式,发现更多设计模式。 |
设计模式应用策略7---设计模式对比大讨论 |
内容一:模式大PK, 通过对比了解设计模式的细节
将实践中常容易混淆或常常联合使用的几个模式放在一组讨论,对比分析,讲解思想。如何发现、应用更多模式。通过对“相似或相关的设计模式”的对比分析,加深理解,是避免“模式误用”的好方法。 |
设计模式应用策略8- 综合应用分析 |
内容一:大型系统的设计案例分析, 介绍如何预先应用模式,以及如何在第3版本重构时导入模式, 已经在后期维护时应用模式
|
设计模式应用策略9-设计模式总结 |
内容一:设计模式总结
|