从“结构化”到“面向对象”
程序设计可以看成是一种“抽象”的艺术
- 使用“抽象”的思维方式,构造软件系统的顶层模型
- 程序是一个“黑盒”(入:两个日期,出:两个日期间的天数)
- 程序=数据结构+算法
数据结构——对数据进行抽象
- 先确定一种数据类型,然后基于此数据结构设计算法
基于数据结构确定算法
- 计算出两个日期之间的整年天数
- 计算出两个日期之间的整月天数
- 每个算法步骤用一个函数来实现:
- CalculateDaysBetweenTwoYear()
- CalculateDaysBetweenTwoMonth()
进一步细化与调整设计方案
- 需要判断是否是闰年,所以应该添加isLeapYear()函数。
- 再添加一个顶层主控函数CalculateDaysBetweenTwoDate()将前面设计得到的函数“装配”起来,从而实现整个算法。
TIPS:
- “由粗略到详细”,“由上层到下层”地逐层设计
- 具体开发时,“从下层到上层”地逐层开发,就像盖楼一样,尽量避免跨层调用。