数据结构与算法实习 实践之三:界面、排错、性能 北京大学信息科学技术学院 ●●●● 主讲:张铭、郝丹 ●●。●● zhang [at] net pku. edu. cn http://www.jpk.pku.edu.cn/pkuipk/course/sijig/shixi/o 2011.8 张铭赵海燕王腾蛟宋国杰,《数据结构与算法实验 教程》(国家十一规划教材),高教社20111月
数据结构与算法实习 ——实践之三:界面、排错、性能 北京大学信息科学技术学院 主讲:张 铭、郝 丹 mzhang [at] net.pku.edu.cn http://www.jpk.pku.edu.cn/pkujpk/course/sjjg/shixi/ 2011.8 张铭 赵海燕 王腾蛟 宋国杰,《数据结构与算法实验 教程》(国家十一五规划教材),高教社2011年1月
●●●●● ●●●● ●●● ●●●● ●●0● 界面( interface)
界面(interface)
●●● ●●● 界面的责任 ●●●●● ●●●● ●●● ●●●● ●●0● ●为调用者提供服务和访问 ●向调用者隐藏实现细节 ●管理资源的分配、释放和共享 ●错误处理
界面的责任 ⚫ 为调用者提供服务和访问 ⚫ 向调用者隐藏实现细节 ⚫ 管理资源的分配、释放和共享 ⚫ 错误处理
●●● 界面的分类 ●●●●● ●●●● ●●● ●●●● ●●0● ●程序界面 ●类和函数的接口 ●用户界面
界面的分类 ⚫程序界面 ⚫ 类和函数的接口 ⚫用户界面
●●● ●●●●● 程序界面:为别人用的库 ●●●● ●●● ●●●● ●●0● ●考虑的问题 ●提供的服务 ●统一方便又不过多过滥,正交的基本操作,同样的风格。 信息隐藏 ●哪些可见?哪些私用?访问方式?实现细节? 资源管理 谁管理内存分配和释放?共享信息要拷贝吗 错误处理 ●谁检查错误?报告还是忽略?怎么报告?有何恢复性操作? 制定规范
程序界面:为别人用的库 ⚫ 考虑的问题 ⚫ 提供的服务 ⚫ 统一方便又不过多过滥,正交的基本操作,同样的风格。 ⚫ 信息隐藏 ⚫ 哪些可见?哪些私用?访问方式?实现细节? ⚫ 资源管理 ⚫ 谁管理内存分配和释放?共享信息要拷贝吗? ⚫ 错误处理 ⚫ 谁检查错误?报告还是忽略?怎么报告?有何恢复性操作? ⚫ 制定规范