软件构造 课堂笔记3
2017-09-14 16:40
281 查看
本文内容主要基于老师上课的内容,以及上课的PPT
对象:运行时存在的动态的
启发式方法就是不断“试错”的过程
铭记软件的首要技术使命
上图是基于时间的计费系统
一种比较好的实践方式是,将ID的创建全部放在newID()函数中,这样只需要调用newID()函数,而不需要关心具体的ID分配原则。
刚刚的做法是隐藏创建新ID的方法
在C++中还有隐藏ID类型的方法
如果需要修改id的类型,只需要修改typedef语句
软件构造的主要活动是编码与测试
软件构造的首要技术使命是管理复杂度
类与对象
类:静态的对象:运行时存在的动态的
软件的启发式方法
软件设计是非确定性的启发式方法就是不断“试错”的过程
铭记软件的首要技术使命
启发式设计1:找出现实中的对象
上图是基于时间的计费系统
启发式设计2:形成一致的抽象
启发式设计3:封装实现细节
启发式设计4:信息隐藏
例,一个程序,程序中的所有对象通过名为id的成员变量来保存唯一的ID,如何管理ID?一种比较好的实践方式是,将ID的创建全部放在newID()函数中,这样只需要调用newID()函数,而不需要关心具体的ID分配原则。
刚刚的做法是隐藏创建新ID的方法
在C++中还有隐藏ID类型的方法
typedef int IDType; IDType id;
如果需要修改id的类型,只需要修改typedef语句
启发式设计5:找出容易变化的区域
启发式设计6:保持松散耦合Coupling
还有一些别的启发式设计方法,此处先不提。相关文章推荐
- 软件构造 课堂笔记2
- 软件构造 课堂笔记4
- 软件构造 课堂笔记5
- 软件构造 课堂笔记1
- 软件构造 课堂笔记6
- 软件构造 课堂笔记8 脑补版
- 软件需求工程 课堂笔记4
- 软件构造系列学习笔记(5.3)————可复用性的设计模式
- 软件构造系列学习笔记(1.2)————软件构造的质量目标
- 嵌入式软件开发培训笔记——Java第三天(方法重载、对象的构造与初始化过程分析、封装等)
- 编译原理与编译构造 课堂笔记1 导论
- 编译原理与编译构造 课堂笔记2
- 软件构造系列学习笔记(3.1)—————数据类型和类型检查
- 软件需求工程 课堂笔记1
- 读《代码大全2》笔记:软件构造中的设计核对表
- 软件需求工程 课堂笔记5
- 软件构造系列学习笔记(3.2)————设计规约
- 软件需求工程 课堂笔记6
- 软件需求工程 课堂笔记8
- 软件测试第一周课堂笔记