课程费用

6800.00 /人

课程时长

2

成为教练

课程简介

本课程为学员们进行深入的软件设计能力学习和提升,设计了从C++项目实践中的常见易错问题、C++整洁代码的技巧、面向对象设计、C++设计模式、C++重构及架构设计。
在C++项目实践的内容中,本课程准备了大量的实际案例,从C++语法、语义、常见陷阱等分析,带领学员掌握正确和优质的写法。

目标收益

培训对象

课程大纲

第一单元 什么是优秀设计——函数及类设计要点 内容一:什么是好的代码
1.什么是好的软件详细设计和衡量的手段
2.世界大师的观点(Robert C Martin , Peter Code等)
3.可扩展性(Extensibility)容易添加新的功能
4.灵活性(Flexibility)代码修改平稳地发生.
5.可插入性(Pluggability)结合案例,通过那些手段如何实现该目标
6.案例分析,剖析某不佳代码,给出改进方案

内容二:函数设计及编写要点
1.函数中的坏味道(平均长度、标识参数等)
2.高扇入与低扇出
3.函数设计的注意点,参数、标识参数及自解释
4.重复代码处理策略
5.指令与查询分离
6.Switch-case、try-catch结构
7.案例分析及练习

内容三:类的设计及编码原则运用
1.类中耦合度的分析和策略
2.用多态提高系统的可扩展性
3.用间接类增强系统灵活性
4.用控制类处理复杂逻辑
5.用适配器类避免条件分支
6.类的开封原则(OCP)、单一职责原则(SRP)及LSP原则
7.案例分析
第二单元
软件设计模式与软件设计思想
内容一:常见的设计模式及其运用
1.使用GOF设计模式,借鉴前人的经验。
2.分析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)
3.分析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)
4.分析行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)

内容二:常见的设计模式及软件原则案例分析
1.某游戏软件设计
2.某管理软件设计
第三单元 领域驱动及系统实践 内容一:业务逻辑层中的子层设计
1.信息专家原则在重构的运用
2.使用类的封装特征实现数据和函数隐藏
3.业务逻辑层组件设计
4.领域驱动设计的思想及其在类编码中的实践
5.业务服务、façade、实体、值对象、领域对象
6.充血模型、贫血模型、失血模型在编码中的分析

内容二:系统接口设计
1.内存接口及网络接口要点
2.依赖倒置原则
3.接口隔离原则

内容三:IOC原理及其在编码中的应用
1.理解IOC的本质
2.服务组件及能组件的设计
3.灵活使用IOC达成可扩展的代码体系
案例分析及练习——通用数据处理系统设计及实现

内容四、 典型案例分析
1.订餐系统
2.某设备系统设计
第四单元 识别代码中的坏味道及重构实践 内容一:重构初步:识别编码中的坏味道
1.重复的代码
2.过大的类及过长的函数
3.耦合:依恋情结、数据泥团及过度耦合的消息链
4.分散的逻辑:发散的变化及霰弹式的修改
5.复杂的逻辑:switch现象及平行继承体系
6.其它:中间人、数据类、不佳的继承

内容二:重构实践:面向对象及领域驱动
1.将过程化设计转化为对象设计,并讨论过程化设计与对象化设计的特点及历史博弈;并给出过程式设计及及对象设计的模式——合适的就是好的!
2.封装值域/自封装值域的重构
3.以数据类取代记录的策略
4.以对象取代数组的策略
5.以类取代型别码——Replace Type Code with Class
6.以子类取代型别码——Replace Type Code with Subclasses
7.以值域取代子类——Replace Subclass with Fields
8.建模为属性与建模为对象——系统建模中的微妙变化
9.Data Class——纯粹的数据类
10.以State/Strategy取代型别码
11.通过案例介绍函数的重构

内容三:重构实践—复杂条件表达式重构
1.常见问题,如何处理让人疯狂的复杂分类?
2.以多态取代条件式——Replace Conditional with Polymorphism
3.提炼继承体系——Extract Hierarchy
4.塑造模板函数——Form Template Method
5.以委托取代继承——Replace Inheritance with Delegation
6.以继承取代委托——Replace Delegation with Inheritance
7.用Strategy替换条件逻辑
8.用Bridge组合动态变化
9.用State替换状态改变条件语句
10.用Composite替换隐含树
11.用Command替换条件调度程序
12.在多态体系中,如何处理子条件不一致的情况——继承体系中的高级技巧。

内容四:重构实践—去除“大泥球”式的设计
1.过大的函数、模块、子系统
2.依恋情结、数据泥团
3.从系统设计的角度分析混乱产生的原因
4.通过案例介绍如何分解系统

内容五:重构实践—职责单一
1.一个模块完成一个职责——子模块位于同一个抽象层次
2.功能函数与逻辑函数的分离
3.Divergent Change——发散的变化
4.Shotgun Surgery——散弹枪式的修改
第五单元平台重构实践 内容一:某系统重构分析
1.底层服务抽取分析
2.分析子系统并对其定位
3.重构对现有系统的冲击及避免方式
第一单元 什么是优秀设计——函数及类设计要点
内容一:什么是好的代码
1.什么是好的软件详细设计和衡量的手段
2.世界大师的观点(Robert C Martin , Peter Code等)
3.可扩展性(Extensibility)容易添加新的功能
4.灵活性(Flexibility)代码修改平稳地发生.
5.可插入性(Pluggability)结合案例,通过那些手段如何实现该目标
6.案例分析,剖析某不佳代码,给出改进方案

内容二:函数设计及编写要点
1.函数中的坏味道(平均长度、标识参数等)
2.高扇入与低扇出
3.函数设计的注意点,参数、标识参数及自解释
4.重复代码处理策略
5.指令与查询分离
6.Switch-case、try-catch结构
7.案例分析及练习

内容三:类的设计及编码原则运用
1.类中耦合度的分析和策略
2.用多态提高系统的可扩展性
3.用间接类增强系统灵活性
4.用控制类处理复杂逻辑
5.用适配器类避免条件分支
6.类的开封原则(OCP)、单一职责原则(SRP)及LSP原则
7.案例分析
第二单元
软件设计模式与软件设计思想
内容一:常见的设计模式及其运用
1.使用GOF设计模式,借鉴前人的经验。
2.分析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)
3.分析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)
4.分析行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)

内容二:常见的设计模式及软件原则案例分析
1.某游戏软件设计
2.某管理软件设计
第三单元 领域驱动及系统实践
内容一:业务逻辑层中的子层设计
1.信息专家原则在重构的运用
2.使用类的封装特征实现数据和函数隐藏
3.业务逻辑层组件设计
4.领域驱动设计的思想及其在类编码中的实践
5.业务服务、façade、实体、值对象、领域对象
6.充血模型、贫血模型、失血模型在编码中的分析

内容二:系统接口设计
1.内存接口及网络接口要点
2.依赖倒置原则
3.接口隔离原则

内容三:IOC原理及其在编码中的应用
1.理解IOC的本质
2.服务组件及能组件的设计
3.灵活使用IOC达成可扩展的代码体系
案例分析及练习——通用数据处理系统设计及实现

内容四、 典型案例分析
1.订餐系统
2.某设备系统设计
第四单元 识别代码中的坏味道及重构实践
内容一:重构初步:识别编码中的坏味道
1.重复的代码
2.过大的类及过长的函数
3.耦合:依恋情结、数据泥团及过度耦合的消息链
4.分散的逻辑:发散的变化及霰弹式的修改
5.复杂的逻辑:switch现象及平行继承体系
6.其它:中间人、数据类、不佳的继承

内容二:重构实践:面向对象及领域驱动
1.将过程化设计转化为对象设计,并讨论过程化设计与对象化设计的特点及历史博弈;并给出过程式设计及及对象设计的模式——合适的就是好的!
2.封装值域/自封装值域的重构
3.以数据类取代记录的策略
4.以对象取代数组的策略
5.以类取代型别码——Replace Type Code with Class
6.以子类取代型别码——Replace Type Code with Subclasses
7.以值域取代子类——Replace Subclass with Fields
8.建模为属性与建模为对象——系统建模中的微妙变化
9.Data Class——纯粹的数据类
10.以State/Strategy取代型别码
11.通过案例介绍函数的重构

内容三:重构实践—复杂条件表达式重构
1.常见问题,如何处理让人疯狂的复杂分类?
2.以多态取代条件式——Replace Conditional with Polymorphism
3.提炼继承体系——Extract Hierarchy
4.塑造模板函数——Form Template Method
5.以委托取代继承——Replace Inheritance with Delegation
6.以继承取代委托——Replace Delegation with Inheritance
7.用Strategy替换条件逻辑
8.用Bridge组合动态变化
9.用State替换状态改变条件语句
10.用Composite替换隐含树
11.用Command替换条件调度程序
12.在多态体系中,如何处理子条件不一致的情况——继承体系中的高级技巧。

内容四:重构实践—去除“大泥球”式的设计
1.过大的函数、模块、子系统
2.依恋情结、数据泥团
3.从系统设计的角度分析混乱产生的原因
4.通过案例介绍如何分解系统

内容五:重构实践—职责单一
1.一个模块完成一个职责——子模块位于同一个抽象层次
2.功能函数与逻辑函数的分离
3.Divergent Change——发散的变化
4.Shotgun Surgery——散弹枪式的修改
第五单元平台重构实践
内容一:某系统重构分析
1.底层服务抽取分析
2.分析子系统并对其定位
3.重构对现有系统的冲击及避免方式

课程费用

6800.00 /人

课程时长

2

预约体验票 我要分享

近期公开课推荐

近期公开课推荐

活动详情

提交需求