软件重构与软件设计模式课程培训,内容主要有剖析软件质量不断下降的根源,高质量的软件设计过程,何为重构软件重构的概念,建立自动化测试体系,运用设计模式实战软件重构,策略模式策略模式的应用,工厂模式探讨软件设计中遇到的难题,工厂方法模式等,旨在使学员掌握软件重构与软件设计模式技能。
一、培训对象
初中高级工程师、企业架构师、软件设计师等;
各类软件研发中心的软件设计师、架构师、项目经理、技术总监、质量部门经理。对于重构技术怀有疑问和困惑,需要梳理解答的团队和个人,效果最佳。
|
代码重构
|
设计重构
|
软件腐烂监控
|
重构管理
|
程序员
|
必须精通
|
需要了解
|
需要了解
|
需要了解
|
设计师
|
必须精通
|
必须精通
|
需要了解
|
需要了解
|
架构师
|
必须精通
|
必须精通
|
必须精通
|
必须精通
|
数据库工程师
|
需要了解
|
需要了解
|
/
|
/
|
质量管理
|
/
|
/
|
必须精通
|
必须精通
|
管理者
|
/
|
/
|
需要监控
|
需要了解
|
二、课程大纲
软件设计模式授课内容
第一部分 高质量软件设计
第一章 什么是高质量的软件设计
1.情景剧:软件设计焦虑症
2.探讨:如何进行高质量的软件设计
第二章 软件设计原则
1.易于阅读:
1)规范代码、编写注释与表明动机
2)案例:代码编写范例与简便易行的方法
2.易于维护与变更:
1)互联网+带来的挑战
2)系统需要不断地技术升级与改造
3)传统行业必须向互联网转型
4)但技术变革不是换零件那么简单
5)剖析应对技术变革的方案
3.案例讲解软件设计原则
1)依赖反转原则(DIP)
2)开放-封闭原则(OCP)
3)里氏替换原则(LSP)
4)单一职责原则(SRP)
5)不要重复自己原则(DRY)
4.探讨软件设计模式:
1)设计模式的由来
2)设计模式的发展
3)设计模式对高质量软件设计的作用
第二部分 软件设计模式
第三章 适配器模式
1.什么是适配器模式
1)软件设计中外部接口的难题
2)第三方框架带来的设计难题
3)适配器模式及其概念
2.适配器模式的应用
1)适配器模式解决第三方框架带来的难题
2)适配器模式解决外部接口的设计难题
第四章 策略模式
1.什么是策略模式
1)工资发放功能遇到的难题
2)工资发放功能最初的设计及其问题
3)对问题的分析过程及其新的设计思路
2.策略模式的应用
1)案例:工资发放功能设计改进的过程
2)案例:数据导出功能的设计实现
3)案例:财务凭证生成功能的设计过程
3.练习:财务凭证生成功能的设计与实现
第五章 工厂模式
1.案例:剖析Spring的beanFactory
1)解读工厂模式对设计的重大意义
2)讲解如何创建一个工厂
3)创建工厂的步骤与关键点
4)利用Spring框架简化工厂类的设计
2.案例:数据导出功能的工厂实现
1)工厂方法模式
2)工厂方法模式的概念
3)工厂方法模式的应用
3.案例:SAX框架的工厂类设计
1)抽象工厂模式
2)抽象工厂模式的概念
3)抽象工厂模式的实现
4.案例:标签库的设计改进过程
1)最初的标签库设计
2)运用简单工厂的标签库设计
3)运用工厂方法的标签库设计
4)运用抽象工厂的标签库设计
5)最终基于配置的标签库设计
第六章 单例模式
1)什么是单例模式
2)设计工厂类面临的问题
3)单例模式及其概念
4)如何实现单例模式
1.单例模式的应用
1)单例模式带来的设计变革
2)充血模型vs.贫血模型
3)探讨单例模式与性能问题
4)单例模式改变了很多软件的设计
第七章 原型模式
1)什么是原型模式
2)原型模式及其概念
3)原型模式的设计实现
第八章 模板方法模式
1.什么是模板方法模式
1)煮咖啡给我们的启示
2)设计工厂类的新思路
3)模板方法模式及其概念
2.模板方法模式的作用与技巧
1)案例:一个工厂模板的设计与实现
2)代码复用在不同场合采用的方法
3)模板方法模式在代码复用中的作用
第九章 装饰者模式
1.什么是装饰者模式
1)业务量增长带来的多数据源问题
2)运用装饰者模式巧妙解决多数据源问题
3)装饰者模式及其概念
2.装饰者模式的应用
1)案例:多数据源的设计实现
2)案例:商城收银系统的设计变更过程
3)练习:商场收银系统的2种设计与实现
第十章 桥接模式
1.什么是桥接模式
1)对象继承的泛滥
2)桥接模式及其概念
2.桥接模式的应用
1)案例:员工管理与工资发放的设计
2)案例:查询支持类的设计
第十一章 享元模式
1.享元模式的应用
1)案例:数据缓存的设计实现
2)案例:享元模式在大数据中的应用
第十二章 其它设计模式
1.观察者模式:JobHunter的情景剧
2.代理模式:老板与秘书的差异
3.命令模式:像工作流一样处理业务
4.外观模式:超级家庭影院的烦恼
5.构建器模式:SQL Builder的设计
6.组合模式:如何构建一棵树
7.中介者模式:QQ在沟通中的作用
8.迭代器模式:如何顺序访问一个集合
软件重构实战授课内容
第一部分 为什么软件需要及时重构
第一单元 剖析软件质量不断下降的根源
1.质量不断下降的表现
2.分析与反思
1)案例分析:一个遗留系统的演化过程
3.软件是因需求变更而质量下降吗?
1)应对软件变更的最佳方式:两顶帽子
2)重构原有代码以适应新的需求
3)实现新的需求
第二单元 高质量的软件设计过程
1.案例讲解软件设计原则
1)依赖反转原则(DIP)
2)开放-封闭原则(OCP)
3)里氏替换原则(LSP)
4)单一职责原则(SRP)
5)不要重复自己原则(DRY)
2.以往软件设计的过程:
1)演示以往软件设计的过程
2)剖析以往软件设计的问题与风险
3.小步快跑模式的开发过程:
1)案例:演示小步快跑的开发过程
2)案例:数据推送程序的设计过程
第二部分 如何进行软件重构
第三单元 何为重构
1.软件重构的概念
2.案例分析:
1)案例:演示大函数产生的过程
2)案例:演示抽取方法操作步骤
3)案例:演示超级大对象的产生过程
4)案例:演示抽取类的操作步骤
5)案例:演示“分久必合,合久必分”的重构过程
6)案例:提高代码复用的6个方法
7)案例:演示新增代码时的代码复用过程
8)案例:讲解可扩展设计的4个方法
9)案例:讲解新增代码的可扩展设计过程
10)案例:讲解接口、实现与工厂模式
11)案例:讲解外部接口解耦与适配器模式
3.领域驱动设计的概念
1)练习:重构一个小程序并编写测试脚本
第四单元 关于重构的讨论
1.什么时候重构
1)重构是一种习惯
2)重构让程序可读
3)重构,才好复用
4)先重构,再扩展
5)紧急任务时的重构
2.测试的困境
1)重构初期的困局
2)解耦与自动化测试
3)建立自动化测试体系
3.重构的评价
1)评价软件质量的指标
2)评价软件质量的工具
报名咨询
[ 中培IT学院 ] 成立近20年来,致力于数字化人才培养与赋能培训服务。学员完成线上课程学习后方可参加线下培训和考试。考试通过后可以获得由工业和信息化部教育与考试中心统一颁发《软件设计模式与重构工程师》工业和信息化职业能力证书,证书可作为专业技术人员职业能力考核的证明,以及专业技术人员岗位聘用、任职、定级和晋升职务的重要依据。