码迷,mamicode.com
首页 > 其他好文 > 详细

设计自己的库

时间:2017-05-20 22:42:31      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:哪些   span   描述   问题   兼容   math   类型   内容   str   

*如果你的工作经常要用到一些特殊的工具,你可以设计自己的库
*一个库应该有一个主题。一个库中的函数都应该是处理同一类问题。如标准库iostream包含输入输出功能,cmath包含数学运算函数。我们自己设计的库也要有一个主题。
*设计一个库还要考虑到它的通用性。库中的功能应来源于某一应用,但不局限于该应用,而且要高于该应用。在某一应用程序中提取库内容时应尽量考虑到兼容更多的应用,使其他应用程序也能共享这个库。 
 
库的设计和实现
*设计库的接口:
  -库的用户必须了解的内容,包括库中函数的原型、这些函数用到的符号常量和自定义类型
  -接口表现为一个头文件
*设计库中的函数的实现:表现为一个源文件
*库的这种实现方法称为信息隐藏 
 
程序设计的复杂性
描述炮出一杯茶需要哪些步骤
*烧水
*把茶叶放到茶壶里
*水烧开后倒入茶壶
*等待5分钟
*把茶倒进杯子
*加牛奶
*喝
 
开始问这样的问题(这很重要!
*烧水?
*水哪来的?
*热水壶在哪里?
*你怎么把水倒进热水壶?
*你怎么知道热水壶壶里要倒多少水?
*如果没有水/热水壶/电怎么办呢?
*假如加水传感器失效怎么办?
*假如煮水传感器失效怎么办?
*茶叶放到茶壶里?
*茶壶在哪里,如果没有茶壶怎么办?烧水之前我们应该考虑到这些问题吗?
*茶叶在哪里,要用哪一种茶叶?我们是否应该先问清楚,或许如果没有对应的茶叶,我们甚至都不应该开始泡茶?
*关于加水和传感器也可以有类似的问题要问
*倒开水?
*你确定水已经开了么?你怎么能确保“倒水”的机器从热水壶那收到“烧水完成”的信号呢?
*你如何确保倒水的机器知道热水壶在哪里?
*如果热水壶在倒水的过程翻了怎么办呢?

设计自己的库

标签:哪些   span   描述   问题   兼容   math   类型   内容   str   

原文地址:http://www.cnblogs.com/codelearning/p/6883286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!