设计模式培训大纲

  培训讲师:刘晖

讲师背景:
刘晖老师通信行业特约培训导师【专业资质】✦北大计算机、北邮通信双学位✦(原)中兴通讯学院高级讲师✦大庆油田技术研究院高级内训讲师✦15年嵌入式硬件、软件开发和系统架构设计总监✦有8年多的“云大智物”开发及实施经验。曾供职于巨龙通信、大唐电信 详细>>

刘晖
    课程咨询电话:

设计模式培训大纲详细内容

设计模式培训大纲

课程亮点

全真案例,借助案例与设计模式知识的原理,借助最佳实践,帮助您提⾼高设计能⼒力,从⽽而提⾼高开发效率  和设计质量

以新视⾓角,揭⽰示模式的本质、思想⽅方法,剖析出模式之“道”,跳出“为模式⽽而模式”的“陷阱” 提升设计能⼒力,使开发⼈人员由“编程⼩小⼯工”到设计专家

提出场景驱动设计,利⽤用领域建模、职责驱动、扩展式设计以及重构,提⾼高软件设计质量,实现卓越软 件设计

关注业界内设计模式,以实战训练驱动对⾯面向对象设计的理解与运⽤用开拓设计⼈人员视野,引⼊入函数式编程思想以弥补⾯面向对象设计的不⾜足

要解决的问题

员⼯工⽆无法接⼿手遗留系统,原因是代码杂乱,可读性差 团队成员没有设计模式知识与经验,⽆无法实施敏捷开发系统难以重构,不利于产品的重⽤用与⼆二次开发

开发效率得不到保障,因为详细设计⼈人员不能理解架构⽂文档与详细设计⽅方案 设计⽅方案难于应对需求变更

设计的系统架构缺乏可扩展性、可维护性和可测试性,不能合理地重⽤用 架构、设计、开发三个环节中各个⾓角⾊色不能理解设计意图,很难沟通

培训计划

议题⼀一:卓越的软件设计思想

卓越软件设计的特征

体现简单之美的设计⽅方案可重⽤用的对象与组件

⽀支持良好的可扩展性充分的测试覆盖率 可读性⾼高的代码;

案例分析

代码阅读:通过运⽤用组合⽅方法模式思想对代码进⾏行重构,进⽽而演化为Template    Method模式去除重复代码

代码阅读:分析⾯面向对象设计⽅方法所不能解决的重复问题,从⽽而引⼊入函数式思想去除重复

邮件服务器:分析邮件服务器代码暴露的问题,在可重⽤用性、代码可维护性、可扩展性等诸多⽅方⾯面着⼿手,剖析代码坏味道。

⾯面向对象的设计要素

合理封装的要点迪⽶米特法则

继承与委派的区别关注点分离原则 多态与抽象

案例分析

报表系统之参数处理:了解封装的本质,明确职责的分配以及智能对象的意义,理解“信息专家”模式。

事务处理的设计:通过分析职责的承担者,从⽽而辨别职责的分配,并以组合桥接的⽅方式进⾏行抽象的分离。

电⼦子商务系统之订单处理:对⾏行为的封装,职责的委派⽽而⾮非继承的⽅方式,进⽽而重构到Command模   式。

⾯面向对象设计核⼼心的SOLID原则

单⼀一职责原则(SRP):该原则是合理封装对象,分配职责的重要原则; 开放封闭原则(OCP):该原则体现了扩展式开发的核⼼心思想;

Liskov替换原则(LSP):可以将该原则视为是对是否正确运⽤用继承的检验标准;
 

接⼝口隔离原则(ISP):对于接⼝口的粒度进⾏行规划,以便于设计出更好的接⼝口;

依赖倒置原则(DCP):对于依赖和解耦的分析,利⽤用抽象保证设计的可扩展性;

议题⼆二:整洁代码与重构

编写整洁的代码

糟糕的代码与混乱的代价,整洁代码的艺术; 如何对变量、⽅方法和类进⾏行命名;

如何设计⽅方法,遵循DRY与CQS原则; 如何进⾏行错误处理和异常处理;

如何组织类和包;

案例分析

给出真实项⺫⽬目中真实的代码⽚片段,对这些代码进⾏行分析,并利⽤用整洁代码的原则进⾏行改善。这些代码涉    及到的问题包括:循环嵌套太多,⽅方法命名不合理,缺乏⾜足够的封装,性能问题;

通过重构改善既有代码

破窗理论与重构的原则,包括重构与设计的关系,重构的时机和开展重构的原因

介绍代码的坏味道:详细介绍各种代码的坏味道,包括重复的代码、过⻓长函数、过⼤大类、依恋情结、平

⾏行继承体系、发散式变化、霰弹式修改等22种坏味道。

介绍常⻅见的重构⼿手法,例如提取参数、提取⽅方法、提取类、搬移⽅方法、提取参数对象,以委托取代继承  等,并利⽤用实际的案例展现如何对丑陋的代码进⾏行重构。

案例分析

对媒体管理系统的坏味道识别,利⽤用重构改善代码,并逐步引⼊入Strategy模式与Visitor模式,进⽽而改善设计。

议题三:合理的职责分配是良好设计的基础

职责驱动设计

职责的层次:包括职责层次的识别、职责层次与软件架构层次之间的关系、职责与概念、规约与实现   对象的⾓角⾊色:⾓角⾊色、职责与协作是三位⼀一体的关系,⾓角⾊色是发起职责的对象,职责则应该是对象之间的  协作

模块级的职责分配:如何根据职责对模块进⾏行分解,了解⾼高内聚、松耦合原则。

案例分析

对邮件服务器进⾏行分析,通过分辨职责层次,来改善设计。并提出需求变更,从⽽而引⼊入对观察者模

式、策略模式、简单⼯工⼚厂模式、调停者模式与职责链模式的对⽐比与分析; 处理HTTP请求与应答,体现信息持有者⾓角⾊色;

JMS对Queue的创建体现构造者⾓角⾊色; 税务报告的⽣生成体现服务提供者⾓角⾊色; 服务定位器体现协调者⾓角⾊色;

内容验证器体现控制者⾓角⾊色;

EISaaS的模块划分;

基于AKKA的REST框架Spray;

国际报税系统的架构演进,提出模块重⽤用的⽅方式;

职责分配遵循的原则与模式

分析单⼀一职责原则:分析该原则的核⼼心思想,关注对象的变化点

专家模式:专家模式的核⼼心思想是信息的持有者是操作该信息的专家

⾃自治对象:分析了⾃自治对象的特征,分别包括:最⼩小完备,稳定空间,⾃自我履⾏行与独⽴立进化

案例分析

设备状态的迁移:利⽤用“⾃自治对象”思想逐步引⼊入State模式,并结合实际需求分析标准State模式的问题,从⽽而对该模式进⾏行改进

议题四:应对需求的变化,设计可扩展的软件

如何应对需求的变化

抽象的关键在于寻找多个对象(或⾏行为)具有的共同特征,并对特性进⾏行泛化函数式⾮非凡的抽象能⼒力

识别变化点,对变化进⾏行封装

解耦具体依赖:介绍常⻅见的解除具体依赖的⽅方法,包括表驱动法、配置与反射、IoC容器、惯例优于配 置

案例分析 * 项⺫⽬目管理模型的抽象,通过对多种项⺫⽬目管理过程进⾏行分析,对各种模型概念进⾏行分类,并抽象出模型的共同特征,从⽽而简化模型; * 电⼦子商务系统的票据业务规则,引⼊入Specification模式; *

CIMS系统的机器加载策略,引⼊入Strategy模式; * 短信服务,引⼊入Facade模式与Adpater模式; * ⼈人⼒力资源系统考勤模块,介绍Gateway模式; * URL Web请求,讲解如何解耦具体依赖;

扩展式设计

扩展式设计的过程

案例分析

消息队列规范的设计:通过分析JMS、MSMQ的设计,理解抽象的含义,例如理解⾯面向接⼝口设 计、接⼝口隔离原则、按意图设计、Facade模式;

保单问卷调查:讲解如何从坏设计逐步重构到Visitor模式;

议题五:设计模式的本质

设计模式的境界

初学者:拔剑四顾⼼心茫然,不知道该如何运⽤用设计模式 熟练者:过尤不及,为模式⽽而模式,常常导致设计过度

精通者:⽆无招胜有招,掌握了设计模式的本质,能够恰如其分地运⽤用设计模式

设计的常⻅见问题

理论与设计⽆无法有效结合过度运⽤用设计模式

急于编码,没有有效的设计

设计模式的本质

合理的职责分配是基础封装并抽象变化是核⼼心

合理运⽤用⾯面向对象设计思想合理运⽤用⾯面向对象设计原则

案例分析:JUnit框架

通过全⾯面剖析JUnit测试框架,了解⼤大师的设计艺术,展现JUnit是如何保证框架的简单、可扩展、可重

⽤用。内容包括: * JUnit的组件结构 * JUnit的Test Case设计 * 如何⽀支持Test Result显⽰示的扩展 * JUnit中如何通过复杂的设计来简化⽤用户的使⽤用



 

刘晖老师的其它课程

【课程特色】1.  课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。2.  清晰的知识结构,根据应用经验采用最优化授课模式。3.  内容充沛、详略得当,前后呼应。4.  讲师资历丰富,具有丰富的实践经验。5.  知识讲授+贴身案例+场景故事+互动讨论+现场演练+落地跟踪【课程时间】1天【课程

 讲师:刘晖详情


【课程背景】住房和城乡建设部印发的《国家智慧城市试点暂行管理办法》和《国家智慧城市(区、镇)试点指标体系(试行)》两个文件指出:建设智慧城市是创新驱动发展、推动新型城镇化、全面建成小康社会的重要举措。这对于服务于千千万万城市、社区、园区、小区、楼宇,以及工作和生活在其中的业主和客户的物业管理服务业来说,已然迎来最大的发展机遇。物业管理行业不仅是智慧社区的受益

 讲师:刘晖详情


5G+智慧煤矿   12.31

【课程特色】1.  课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。2.  清晰的知识结构,根据应用经验采用最优化授课模式。3.  内容充沛、详略得当,前后呼应。4.  讲师资历丰富,具有丰富的实践经验。5.  知识讲授+贴身案例+场景故事+互动讨论+现场演练+落地跟踪【课程对象】无线网、核

 讲师:刘晖详情


【课程特色】1.  课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。2.  清晰的知识结构,根据应用经验采用最优化授课模式。3.  内容充沛、详略得当,前后呼应。4.  讲师资历丰富,具有丰富的实践经验。5.  知识讲授+贴身案例+场景故事+互动讨论+现场演练+落地跟踪【课程对象】相关人员【

 讲师:刘晖详情


5G产业发展与应用创新【课程背景】随着5G 技术的快速发展,5G 应用已成为各界热议的话题,很多行业陆续开展了相关的实践探索。本课程站在科技发展的前沿,探讨了5G在物联网、人工智能、无人机、医疗、农业、教育、工业互联网、新媒体等行业的应用案例。值得指出的是,案例以运营商、一流企业等机构在5G领域的实践为主线,对5G行业应用创新案例做了详细的讲解。【课程收益】

 讲师:刘晖详情


【课程背景】随着5G 技术的快速发展,5G 应用已成为各界热议的话题,很多行业陆续开展了相关的实践探索。【课程收益】1了解5G从信息通信技术支持到业务模式推广和场景的应用,掌握5G在新时代、新技术下的行业发展趋势;2以鲜活的应用案例和解决方案详细掌握5G给环保行业方面带来全新变革的蓝图和愿景;【课程特色】1.  课上采用案例式教学,通俗易懂,课下一对一辅导强

 讲师:刘晖详情


5G赋能工业互联网【课程背景】5G通过技术创新实现了增强型移动宽带、超大规模物联网和高可靠、低时延等三大应用场景全覆盖,把人与人之间的通信拓展到了人与物、物与物之间的通信,从消费互联网拓展到了产业互联网,为行业数字化转型提供了关键的数字基础设施。5G和人工智能/大数据/云计算/边缘计算/区块链等新一代信息技术相结合,多技术交织并进、深度渗透、协同应用,孕育技

 讲师:刘晖详情


【课程背景】随着5G 技术的快速发展,5G 应用已成为各界热议的话题,很多行业陆续开展了相关的实践探索。本课程站在科技发展的前沿,探讨了5G在物联网、人工智能、无人机、医疗、农业、教育、工业互联网、新媒体等行业的应用案例。值得指出的是,案例以运营商、一流企业等机构在5G领域的实践为主线,对5G行业应用创新案例做了详细的讲解。【课程收益】1了解5G从信息通信技

 讲师:刘晖详情


【课程背景】随着5G 技术的快速发展,5G 应用已成为各界热议的话题,很多行业陆续开展了相关的实践探索。本课程站在科技发展的前沿,探讨了5G与数字货币、区块链在金融行业的应用案例。值得指出的是,案例以运营商、一流企业等机构在5G领域的实践为主线,对5G金融行业应用创新案例做了详细的讲解。【课程收益】1了解5G从信息通信技术支持到业务模式推广和场景的应用,掌握

 讲师:刘晖详情


【课程背景】国家电网“三型两网、世界一流”战略、南方电网定位“五者”,转型“三商”战略,需赋能智能终端,加速电网全面感知,打通数据和业务壁垒,驱动创新能力。传统通信方式难以满足数字电网发展需求,电力生产、传输、消费全过程需要低时延、大宽带、大连接,对5G的诉求十分迫切5G作为最新一代的无线通信技术,其超高速率、超低时延、超大连接特性对智慧城市建设产生巨大的影

 讲师:刘晖详情


COPYRIGT @ 2018-2028 HTTPS://WWW.QG68.CN INC. ALL RIGHTS RESERVED. 管理资源网 版权所有