P 2.2 层次性数据与闭包性质
1. 闭包性质:某种组合数据对象的操作是否满足闭包性质取决于:通过该操作组合起数据对象得到的结果本身还可以再通过该操作再进行组合。
如 f(f(x))
2. 如果某个对组合数据对象的操作满足闭包性质,我们就可以将一些简单操作组合得到复杂的功能
3. 将程序表示为一些针对序列的操作,可以帮助我们得到模块化的程序设计,也就是说,得到由一些比较独立的片段组合构成的设计。
详细说:在程序设计的过程中,应该将程序的功能模块化,同时规定模块间数据的约定界面(数据内容,格式,操作等),这样就可以将大的程序设计问题,转为小的模块化问题。在降低了系统复杂性的同时,提高了模块化程序的复用性。
4. 分层设计问题:一个复杂的系统应该通过一系列层次构造出来,每个层次通过使用下层提供的基本元素与组合手段等为上层提供可使用的更高层的基本元素与组合手段。