课程简介
目标收益
通过培训学员可以掌握面向对象设计的核心原则和常用技能,包括测试驱动开发、重构等技术手段,建立良好的质量意识、灵活运用面向对象特征,从而提高新代码的设计质量并对既有代码进行逐步改进。
培训对象
以C/C++作为开发语言,希望改进软件设计质量,从而提升软件设计和代码的可理解、可维护、可复用能力的软件团队技术负责人、架构师和软件设计人员。
课程大纲
面向对象设计基础 |
内容一:什么是好的设计? 1.从业务角度看“好”的设计 2.从技术角度看“好”的设计 3.面向对象的设计原则 4.案例研究 内容二:正确运用语言特性 1.走出“对象”的误区 2.使用多态降低复杂性 3.在继承和委托之间做选择 |
演进式设计的技术手段 |
内容三:使用测试驱动开发与重构改进软件设计 1.过度设计与设计不足 2.测试先行与软件设计 3.用重构改进设计 4.重构的时机 5.测试驱动开发实践 |
实现高内聚的设计 |
内容四:高内聚的设计手段 1.发现领域概念 2.职责分配的原则 3.分离构造和使用 4.共性和可变性分析 5.单一职责原则 6.开放-封闭原则 7.改变破坏封装的习惯 |
实现低耦 合的设计 |
内容五:低耦合的设计手段 1.让接口揭示设计意图 2.避免接口的副作用 3.接口隔离原则 4.依赖倒置原则 5.由外而内的软件设计 |
模式与框架 |
内容六:模式与框架 1.模式的价值 2.设计模式深度解析 3.软件架构模式 |
组织级的设计问题 |
内容七:让设计原则和方法在组织落地 1.组织级的价值观问题 2.构建基础设施 3.遗留代码的改进 4.软件设计度量 |
面向对象设计基础 内容一:什么是好的设计? 1.从业务角度看“好”的设计 2.从技术角度看“好”的设计 3.面向对象的设计原则 4.案例研究 内容二:正确运用语言特性 1.走出“对象”的误区 2.使用多态降低复杂性 3.在继承和委托之间做选择 |
演进式设计的技术手段 内容三:使用测试驱动开发与重构改进软件设计 1.过度设计与设计不足 2.测试先行与软件设计 3.用重构改进设计 4.重构的时机 5.测试驱动开发实践 |
实现高内聚的设计 内容四:高内聚的设计手段 1.发现领域概念 2.职责分配的原则 3.分离构造和使用 4.共性和可变性分析 5.单一职责原则 6.开放-封闭原则 7.改变破坏封装的习惯 |
实现低耦 合的设计 内容五:低耦合的设计手段 1.让接口揭示设计意图 2.避免接口的副作用 3.接口隔离原则 4.依赖倒置原则 5.由外而内的软件设计 |
模式与框架 内容六:模式与框架 1.模式的价值 2.设计模式深度解析 3.软件架构模式 |
组织级的设计问题 内容七:让设计原则和方法在组织落地 1.组织级的价值观问题 2.构建基础设施 3.遗留代码的改进 4.软件设计度量 |