工程师
其他
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

面向对象设计进阶(C/C++)

甘道夫

复旦大学 教授

软件工程的一线实践者和思考者。 曾在知名跨国企业阿尔卡特朗讯任职12年,是固网接入产品ISAM7302的首席软件架构师,贝尔实验室杰出工程师(DMTS ,终身荣誉)。 拥有端到的软件开发技术能力,包括软件需求、 软件架构设计、面向对象设计、单元设计、单元测试、系统级测试及组织过程改进等。 是AgileChina、AgileTour、ScrumGathering等多个敏捷相关会议的演讲者。 在软件工程研究领域,有多篇文章发表于国际一流学术会议,如 ICSM 2011(IEEE软件维护国际会议),ICSM2012(IEEE软件维护国际会议)、ASEASE 2013(ACM 自动化软件工程会议)等,研究内容涵盖领域驱动开发、精益思想,以人为中心的软件工程、代码重构等、研究成果得到了同行的认可。 合著有《软件工程:方法与实践》,2014年复旦大学出版社出版。

软件工程的一线实践者和思考者。 曾在知名跨国企业阿尔卡特朗讯任职12年,是固网接入产品ISAM7302的首席软件架构师,贝尔实验室杰出工程师(DMTS ,终身荣誉)。 拥有端到的软件开发技术能力,包括软件需求、 软件架构设计、面向对象设计、单元设计、单元测试、系统级测试及组织过程改进等。 是AgileChina、AgileTour、ScrumGathering等多个敏捷相关会议的演讲者。 在软件工程研究领域,有多篇文章发表于国际一流学术会议,如 ICSM 2011(IEEE软件维护国际会议),ICSM2012(IEEE软件维护国际会议)、ASEASE 2013(ACM 自动化软件工程会议)等,研究内容涵盖领域驱动开发、精益思想,以人为中心的软件工程、代码重构等、研究成果得到了同行的认可。 合著有《软件工程:方法与实践》,2014年复旦大学出版社出版。

课程费用

5800.00 /人

课程时长

2

成为教练

课程简介

目标收益

通过培训学员可以掌握面向对象设计的核心原则和常用技能,包括测试驱动开发、重构等技术手段,建立良好的质量意识、灵活运用面向对象特征,从而提高新代码的设计质量并对既有代码进行逐步改进。

培训对象

以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.软件设计度量

活动详情

提交需求