培训时间:

软件设计模式与软件重构实战训练营

  时间地点:
2025年09月25-28日 成都

  培训费用:8800

  赠送积分:8800

    服务电话:010-82593357

软件设计模式与软件重构实战训练营详细内容

软件设计模式与软件重构实战训练营

培训方式

专家面授      在线直播      精品录播

课程信息

课程时长

4天*6小时

面授+直播

+视频回放

面授

地点时间

上海

4月20-23日

武汉

6月23-26日

成都

9月25-28日

直播时间

面授同步直播

增值服务

提供视频回放免费学习一年

学习平台

PC端:https://it.zpedu.com/     移动端APP:IT云课

培训背景

无数软件企业及其研发团队都面临着,大量初级程序开发人员低质量软件开发带来的严重问题,即使那些工作多年的高级程序员也存在着对提高软件设计质量认识不深的问题。正是由于以上的问题,造成许多公司对运行了多年的核心业务,运行维护成本越来越高,却不能更换、一直维护下去的恶性循环。如何通过培训,切实有效地提高员工设计开发水平,从而有效地改善软件设计质量,成为越来越多的软件企业迫切需要解决的问题。

课程简介

中培伟业特邀相关领域权威专家精心打造了“软件设计模式与软件重构实战训练营”课程,并定期开展公开课。本课程注重实战,采用案例贯穿的方式,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总与研讨,并最终形成培训教程。通过大量的真实案例,详细地介绍了软件设计过程需要注意的要点以及难点,这些知识都是讲师十几年经验的总结。本次课程1/3时间讲解核心思想,1/3时间动手重构实践,1/3点评分析总结。


培训价值

ü 提高软件开发效率

在编码之前制定设计方案,避免在开发过程中频繁修改代码,提高软件开发效率。

ü 提高软件综合质量

编码之前进行全面的需求分析和规划,从而设计出更加优秀的软件架构和模块设计,提高软件的质量和可靠性。

ü 方便软件维护和升级

设计出易于维护和升级的软件系统,减少维护成本和升级难度。

ü 减少软件开发成本

在开发过程中发现问题和缺陷,避免在后期进行大量的修改和调整,从而减少软件开发成本。

培训对象

初中高级工程师、企业架构师、软件设计师等;

各类软件研发中心的软件设计师、架构师、项目经理、技术总监、质量部门经理。

对于重构技术怀有疑问和困惑,需要梳理解答的团队和个人,效果最佳。


代码重构

设计重构

软件腐烂监控

重构管理

程序员

必须精通

需要了解

需要了解

需要了解

设计师

必须精通

必须精通

需要了解

需要了解

架构师

必须精通

必须精通

必须精通

必须精通

数据库工程师

需要了解

需要了解

/

/

质量管理

/

/

必须精通

必须精通

管理者

/

/

需要监控

需要了解

 


中培优势

老牌机构

19年企业IT培训经验,30+国内外资质授权,助力130万+IT人成长

师资雄厚

认证讲师资质,教学经验丰富,真实项目实战,突破瓶颈快提升

通关无忧

5W+精准题库,官方教材、自研讲义、模拟考试等多重通关保障

班型多样

面授、直播、精品录播、定制企业内训,全国循环开班,随报随学

平台专业

支持PC、APP端使用,满足多样化学习需求,更灵活更便捷

服务保障

社群共学、促学、专家答疑,报名、考试、取证、续证一站式服务

课程大纲

1-2天:软件设计模式专题

第一部分高质量软件设计

第一章

什么是高质量的软件设计

情景剧:软件设计焦虑症

1. 上次的设计太糟糕了,痛下决心以后要好好设计

2. 再次进行软件设计时却不知道该怎样设计

1) 思考了很多,不知如何下手

2) 需求一变更,重新回到了糟糕的状态

探讨:如何进行高质量的软件设计

什么是高质量的软件设计

1. 软件的质量保证:内部质量与外部质量

2. 高质量软件设计的标准:易读、易于维护、易于变更

第二章

软件设计原则

易于阅读:

1. 规范代码、编写注释与表明动机

案例:代码编写范例与简便易行的方法

2. 领域驱动设计

易于维护与变更

1. 互联网+带来的挑战

1) 系统需要不断地技术升级与改造

2) 传统行业必须向互联网转型

3) 但技术变革不是换零件那么简单

4) 剖析应对技术变革的方案

2. 案例讲解软件设计原则

1) 低耦合

a. 依赖反转原则(DIP)

案例:购票业务类与数据访问类

b. 开放-封闭原则(OCP)

案例:需求变更与可扩展点设计

案例:Square/Circle的解决方案

c. 里氏替换原则(LSP)

案例:Rectangle/Square的问题

案例:查询参数传递类的问题

2) 高内聚

案例:评审系统的设计

a. 单一职责原则(SRP)

案例:财务凭证变更带来的问题

案例:超级大函数与大对象的难题

案例:MySQL读写分离的改造过程

b. 信息专家模式

c. 不要重复自己原则(DRY)

典型的代码重复案例

探讨代码复用的难题

探讨软件设计模式:

1. 设计模式的由来

2. 设计模式的发展

3. 设计模式对高质量软件设计的作用

第二部分软件设计模式

第三章

适配器模式

什么是适配器模式

1. 软件设计中外部接口的难题

2. 第三方框架带来的设计难题

3. 适配器模式及其概念

适配器模式的应用

1. 适配器模式解决第三方框架带来的难题

案例:Hibernate适配器的设计

2. 适配器模式解决外部接口的设计难题

案例:第三方支付接口的设计

案例:财务数据接口的设计

第四章

策略模式

什么是策略模式

1. 工资发放功能遇到的难题

1) 工资发放功能最初的设计及其问题

2) 对问题的分析过程及其新的设计思路

2. 策略模式及其概念

策略模式的应用

1. 案例:工资发放功能设计改进的过程

1) 工资发放功能的Java实现

2) 工资发放功能的C++实现

2. 案例:数据导出功能的设计实现

1) 深入理解开放-封闭原则

2) 数据导出功能的变更与改进过程

3. 案例:财务凭证生成功能的设计过程

1) 财务凭证生成功能的初始需求与设计

2) 财务凭证生成功能的扩展与分析过程

3) 财务凭证生成功能的最终设计

4) 深入理解单一职责原则

5) 学习“两顶帽子”的设计方式

练习:财务凭证生成功能的设计与实现

第五章

工厂模式

探讨软件设计中遇到的难题

1. 依赖反转原则的设计难题

2. 开放-封闭原则的设计难题

3. 探讨工厂模式的本质

简单工厂模式

1. 简单工厂模式的C++实现

2. 基于配置的简单工厂模式

3. 剖析简单工厂如何实现依赖反转原则

案例:剖析Spring的beanFactory

4. 解读工厂模式对设计的重大意义

5. 讲解如何创建一个工厂

1) 创建工厂的步骤与关键点

2) 利用Spring框架简化工厂类的设计

案例:数据导出功能的工厂实现

工厂方法模式

1. 工厂方法模式的概念

2. 工厂方法模式的应用

案例:SAX框架的工厂类设计

抽象工厂模式

1. 抽象工厂模式的概念

2. 抽象工厂模式的实现

案例:标签库的设计改进过程

1) 最初的标签库设计

2) 运用简单工厂的标签库设计

3) 运用工厂方法的标签库设计

4) 运用抽象工厂的标签库设计

5) 最终基于配置的标签库设计

第六章

单例模式

什么是单例模式

1. 设计工厂类面临的问题

2. 单例模式及其概念

3. 如何实现单例模式

单例模式的应用

1. 单例模式带来的设计变革

1) 充血模型vs.贫血模型

2) 探讨单例模式与性能问题

2. 单例模式改变了很多软件的设计

第七章

原型模式

什么是原型模式

1. 工厂类在提供产品时遇到的设计问题

2. 原型模式及其概念

原型模式的设计实现

案例:函数调用的无副作用问题

案例:JavsScript中的原型模式

第八章

模板方法模式

什么是模板方法模式

1. 煮咖啡给我们的启示

2. 设计工厂类的新思路

3. 模板方法模式及其概念

模板方法模式的作用与技巧

案例:一个工厂模板的设计与实现

深入理解不要重复自己原则

1. 重复代码带来的严重后果

2. 散弹式修改及其解决思路

3. 探讨实现代码复用的难题

4. 代码复用在不同场合采用的方法

5. 模板方法模式在代码复用中的作用

第九章

装饰者模式

什么是装饰者模式

1. 业务量增长带来的多数据源问题

2. 运用装饰者模式巧妙解决多数据源问题

3. 装饰者模式及其概念

装饰者模式的应用

案例:多数据源的设计实现

1. 多数据源问题的分析设计过程

2. 多数据源的设计与实现

案例:商城收银系统的设计变更过程

1. 商城收银系统期初的设计

2. 混合策略的设计与实现

3. 多层装饰者的设计与实现

重新理解里氏替换原则

1. 透明的功能扩展

2. 里氏替换原则

练习:商场收银系统的2种设计与实现

第十章

桥接模式

什么是桥接模式

1. 对象继承的泛滥

2. 桥接模式及其概念

桥接模式的应用

案例:员工管理与工资发放的设计

1. 员工管理与工资发放带来的继承泛滥问题

2. 采用桥接模式的设计与实现

案例:查询支持类的设计

1. 查询支持类遭遇的继承泛滥问题

2. 查询支持类的解决方案

3. 单例模式下查询支持类的设计

深入体会单一职责原则

第十一章

享元模式

什么是享元模式

1. Hibernate是怎样访问数据的

2. 享元模式及其概念

享元模式的应用

案例:数据缓存的设计实现

案例:享元模式在大数据中的应用

第十二章

其它设计模式

观察者模式:JobHunter的情景剧

代理模式:老板与秘书的差异

命令模式:像工作流一样处理业务

外观模式:超级家庭影院的烦恼

构建器模式:SQL Builder的设计

组合模式:如何构建一棵树

中介者模式:QQ在沟通中的作用

迭代器模式:如何顺序访问一个集合

3-4天:软件重构实战专题

第一部分为什么软件需要及时重构

第一单元

剖析软件质量不断下降的根源

质量不断下降的表现:

1. 程序代码越来越乱

2. 软件维护成本越来越高

3. 软件变更越来越困难

4. 无法进行新技术的改造

以往采取的措施:

1. 头痛医头,脚痛医脚

2. 抛弃掉重新编写

3. 因担心未来变化而做的过度设计

带来的问题

1. 团队成员越来越多但效率却越来越低

2. 测试变得越来越困难而任务繁重

3. 软件系统越来越笨重而不适应未来变化

分析与反思

案例分析:一个遗留系统的演化过程

1. 起初的设计

2. 随后的变更

3. 质量不断下降的过程

软件质量下降的根源:

1. 软件总是因变更而变得越来越复杂

2. 软件结构已经不再适应复杂的软件需求

3. 必须要调整软件结构以适应新的软件需求

软件是因需求变更而质量下降吗?

案例分析:推演软件变更的设计过程

应对软件变更的最佳方式:两顶帽子

1. 重构原有代码以适应新的需求

2. 实现新的需求

案例:演示两顶帽子的设计过程

案例:财务凭证生成程序的设计过程

第二单元

高质量的软件设计过程

案例讲解软件设计原则

1. 低耦合

1) 依赖反转原则(DIP)

一、 案例:购票业务类与数据访问类

2) 开放-封闭原则(OCP)

二、 案例:需求变更与可扩展点设计

三、 案例:Square/Circle的解决方案

3) 里氏替换原则(LSP)

四、 案例:Rectangle/Square的问题

五、 案例:查询参数传递类的问题

2. 高内聚

1) 单一职责原则(SRP)

六、 案例:财务凭证变更带来的问题

七、 案例:超级大函数与大对象的难题

八、 案例:MySQL读写分离的改造过程

2) 信息专家模式

3) 不要重复自己原则(DRY)

4) 典型的代码重复案例

5) 探讨代码复用的难题

以往软件设计的过程:

1. 演示以往软件设计的过程

2. 剖析以往软件设计的问题与风险

小步快跑模式的开发过程:

1. 用最快的速度开发一个最核心的功能

2. 让第一个版本运行起来并可以验证

3. 在第一个版本的基础上不断添加功能:

1) 每次只添加一个很简单、很单一的功能

2) 每次以两顶帽子的方式添加新功能

3) 运行、调试与验证

4) 重复这个过程添加下一个功能

4. 复杂的系统就是由一次次正确开发的不断积累而成

案例:演示小步快跑的开发过程

小步快跑解决的问题:

1. 复杂功能有效地解耦

2. 代码编写总是可测试与验证

3. 简化设计与思考的复杂度

4. 适时重构以避免软件退化

案例:数据推送程序的设计过程

第二部分如何进行软件重构

第三单元

何为重构

软件重构的概念

1. 重构是一系列代码的等量变换

九、 案例:一个Hello World重构过程

2. 重构的保险索:自动化测试

十、 案例:Hello World的自动化测试过程

3. 软件修改的四种动机——重构的价值

4. 一个真实的谎言——重构的误区

5. 重构的主要方法与技巧

案例分析:重构一个大型遗留系统

1. 重构第一步:分解大函数

十一、 超级大函数及其危害

十二、 案例:演示大函数产生的过程

十三、 案例:演示抽取方法操作步骤

十四、 实践抽取方法会遇到的问题和解决方案

2. 重构第二步:拆分大对象

十五、 超级大对象及其危害

十六、 案例:演示超级大对象的产生过程

十七、 案例:演示抽取类的操作步骤

十八、 讲解单一职责设计原则

十九、 案例:演示“分久必合,合久必分”的重构过程

3. 重构第三步:提高复用率

二十、 讲解顺序编程及其危害

二十一、 “不要重复代码”原则

二十二、 案例:提高代码复用的6个方法

二十三、 案例:演示新增代码时的代码复用过程

二十四、 用静态检查工具检查重复代码

4. 重构第四步:可扩展设计

二十五、 过度设计vs. 恰如其分的设计

二十六、 讲解“开放-封闭”的设计原则

二十七、 案例:讲解可扩展设计的4个方法

二十八、 案例:讲解新增代码的可扩展设计过程

5. 重构第五步:降低耦合度

二十九、 案例:讲解接口、实现与工厂模式

三十、 案例:讲解外部接口解耦与适配器模式

6. 重构第六步:系统分层

三十一、 反思软件架构需要怎样的分层结构

三十二、 遗留系统如何拥抱需求变化

三十三、 遗留系统如何应对技术变革

7. 重构第七步:领域驱动设计

三十四、 领域驱动设计的概念

三十五、 讲解领域模型分析方法

三十六、 案例:智能温控器分析设计过程(嵌入式+物联网)

1) 最初的领域驱动设计过程

2) 需求变更的领域驱动设计

3) 面向物联网的架构演进

练习:重构一个小程序并编写测试脚本

第四单元

关于重构的讨论

什么时候重构

1. 重构是一种习惯

2. 重构让程序可读

3. 重构,才好复用

4. 先重构,再扩展

5. 紧急任务时的重构

测试的困境

1. 重构初期的困局

2. 解耦与自动化测试

3. 建立自动化测试体系

重构的评价

1. 评价软件质量的指标

2. 评价软件质量的工具

讲师团队

范老师 独立咨询顾问| 哈工大软件工程硕士

独立咨询顾问,畅销书籍《架构真意》与《大话重构》的作者,规模化敏捷SPC。曾任航天信息首席架构师,哈工大软件工程硕士,软件架构及重构的客座讲师。从事软件研发工作近二十年,并且现在一直坚守在大型软件架构设计一线工作。从需求分析、软件开发到项目管理、架构设计都有丰富的从业经验。先后参与了数十个国内大型软件项目,涉及国家财政、军工、税务、医疗等领域的大数据中台建设、风险防控与人工智能研究。互联网转型、微服务转型及大数据转型的实践者与倡导者。同时,还是大型遗留系统改造专业户,多次参与大型遗留系统改造、软件系统重构等重大项目,长期关注大型业务系统的品质保证、防止腐化以及技术改造等困扰软件企业的问题,在遗留系统优化与改造方面有丰富的经验。

张老师 资深IT培训专家 | 具备丰富的软件开发和教学经验

硕士学历,资深IT培训专家,百度、阿里、腾讯等特邀讲师。在多年从事的软件开发和教学领域工作中,先后担任过高级软件开发工程师,系统架构师,高级讲师。具备丰富的软件开发经验和教学经验。累计授课课时超过9000学时。同时有丰富的企业内训经验,从开发到讲师到管理,对于软件培训有自己独到的见解,擅长启蒙教育,通过启发式的讲解,让学员具备独立自主的思考并解决问题的能力,培养良好的自学方法和习惯。精通企业级的Android6.0/IOS9.2/webAPP/Cordova、Sql Server 2014、Oracle12C、MySql5.7、mariaDB10.1、VB.net、C#、WCF、Delphi、Powerbuilder、VB、SharePoint2013、Windows Server 2012、RHCE7.2(企业级应用)、NodeJS +ExpressJS+AngularJS+MongoDB+H5+jQuery等。

收费标准

8800元/人(含培训费、平台费、资料费、视频回放、证书、发票等费用)。


我要报名没有找到合适的课程,请在这里提交您的培训需求   发布需求

上课时间
参加人数
费用
联系人
单位名称
部门职务
通信地址
看不清,请换一张看不清,请换一张

推荐课程

《降低采购成本及供应商谈判技巧》【课程时间】3月28-29日【培训地点】佛山【培训费用】RMB4800 元/人,(含培训费、教材费、税费、茶点)【课程对象】总经理副总 采购与供应链管理管理人员研发管理人员 品质管理人员财务管理人员生产管理人员【报名电话】课程背景降本增效将成为很多企业不得不面对的困境!建立完善采购成本控制的科学方案和供应商管理规则,达到高效全...

 讲师:南斌详情


工厂物流规划、仓储管理与高效物料配送实战时间地点:2025年6月26-27日上海;8月30-31日上海;12月20-21日上海培训费用:4680元/人(含培训费、资料费、午餐、税费等)培训目标:根据目前制造业制造企业物流部门面临客户需求预测不准、产品技术更新快, BOM更改频繁、销售预测不准,产能限制,导致生产计划频繁变动、物料计划不准,供应商供货不及时或不...

 讲师:翟光明详情


《采购流程优化及供应商评估与管理》课程时长:2天-13小时 9;00-12:00 13:30-17:00{课程背景}作为一名采购人员,应该具备哪些专业技能,以协助公司建立规范化、高效化的采购流程?作为一名采购人员,应该具备哪些专业技能,以助力公司完善高质量、更稳定的供应商管理体系。后疫情时代,各行各业仍需经受巨大的考验和挑战。而作为采购职业经理人的我们,应该...

 讲师:张仲豪 方老师 田老师详情


降本增效   2025-08-30

降本增效日期地址:2025年6月28日上海;8月30日上海培训费用:5280元/人(含培训费、资料费、午餐、税费等)培训收益理解降本增效的重要性再一次认识开源节流从日常传统生产成本管控到资金占用、效率管控如何运用有效的措施降本增效从头部企业的降本增效带来的思考培训对象企业中高管管理者以及财务人员。培训大纲第一章:降本增效的概念如何理解降本的“本”?开源节流降...

详情


管理问题分析与改进主讲:管理微案例专家、管理学博士 韩超课程对象:企业中高层管理者、团队领导者、各部门负责人课程时间:2025年5月24-25日、8月30-31日课程地点:广州课程费用:4800元/人课程简介具体内容安排以课前3个月的邀请函为准课程背景管理不能凭感觉,要用思考代替直觉,尤其是面对复杂的管理问题,管理者的思路要清晰,不能犹豫和等待,需要立即决策...

 讲师:韩超详情


非财务经理的财务管理日期地址:2025年6月26-27日上海;7月24-25日上海;8月30-31日上海;9月25-26日上海;11月27-28日上海;12月20-21日上海培训费用:5280元/人(含培训费、资料费、午餐、税费等)培训收益掌握基础的财务知识,读懂公司常用财务报表理解各部门的经营活动如何影响公司的财务状况各部门与财务人员在统一的平台上达成有效...

 讲师:William Wu详情


高效的管理沟通技巧训练主讲:田胜波老师2025年08月30青岛 2025年08月23西安2025年09月13上海 2025年10月18上海2025年11月07上海 2025年11月22北京2025年12月20上海培训费:2600元/人(包括听课费、讲义费、午餐费、水果茶点等),食宿费用自理。备注:《中高层经理管理技能与领导力修炼》3天课程中的第二天课程目标充...

 讲师:田胜波详情


大客户开发与维护高级研修班培训时间: 25年3月21-22日 25年8月30-31日 北京培训费用: 4680元/人(含培训费、教材费、午餐费、茶点费等)培训对象:本课程适用于企业以行商(销售人员外出找业务)销售管理人员和销售人员学习适合于工业品、设备、工程、项目型销售模式培训目标:通过培训,使学员能在短时间内逐步转变以叙述方式为主转为以提问方式为主与大客户...

 讲师:李新章详情


视频号矩阵破局班:一套易复制、可放大的高效获客模式主讲:短视频矩阵获客导师、千万级IP操盘手 郭琳打造过800w粉丝矩阵、百万发售操盘手 潘导课程对象:实体老板、创始人/运营负责人、操盘手/实战派玩家、超级个体适合所有有自己的变现产品/项目的老板和核心班子一起来听课程时间:2025 年 8 月 30-31 日课程地点:广州课程费用:3980元/人1. 真正让...

 讲师:郭琳 潘导详情


供应链管理运作高级研修班培训时间:25年3月15-16日线上直播25年08月30-31日线上直播26年1月24-25日线上直播培训费用: 4280元/人培训对象:供应链总监、经理、主管和采购、项目管理、材料管理、运营管理、供应商质量保证、财务、计划、物流和其他供应链相关专业人士。课程背景:在21世纪初,世界权威的《财富》( Fortune)杂志将供应链管理列...

 讲师:胡伟详情


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