读书笔记《计算机程序的构造和解释》一

Posted Virtual_Func

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记《计算机程序的构造和解释》一相关的知识,希望对你有一定的参考价值。

P 2.2 层次性数据与闭包性质

1. 闭包性质:某种组合数据对象的操作是否满足闭包性质取决于:通过该操作组合起数据对象得到的结果本身还可以再通过该操作再进行组合

如 f(f(x))

2. 如果某个对组合数据对象的操作满足闭包性质,我们就可以将一些简单操作组合得到复杂的功能


3. 将程序表示为一些针对序列的操作,可以帮助我们得到模块化的程序设计,也就是说,得到由一些比较独立的片段组合构成的设计。

详细说:在程序设计的过程中,应该将程序的功能模块化,同时规定模块间数据的约定界面(数据内容,格式,操作等),这样就可以将大的程序设计问题,转为小的模块化问题。在降低了系统复杂性的同时,提高了模块化程序的复用性。


4. 分层设计问题:一个复杂的系统应该通过一系列层次构造出来,每个层次通过使用下层提供的基本元素与组合手段等为上层提供可使用的更高层的基本元素与组合手段


P 2.3 符号数据

1. 在抽象数据上设计:

在程序设计的过程中,使用抽象数据,不要接触到具体数据的实现。通过为抽象数据定义一些必须满足的接口,然后程序设计使用定义的接口实现。剥离了设计对数据的依赖性。


2. 抽象设计的具体实现过程中:

在实现抽象数据的过程中,使用抽象数据的设计指定了抽象数据需要满足的接口。因此,抽象数据实现过程中只需要确保该数据结构能够满足定义的接口即可。通过抽象数据的影响,使得在抽象数据的实现变动时,不用改动使用该抽象数据的程序。

以上是关于读书笔记《计算机程序的构造和解释》一的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记 -- 计算机程序的构造和解释

读书笔记《深入理解计算机系统》(第三版) 概述

SICP读书笔记

程序员读书清单

读书笔记 PCG in Games 程序化内容生成3 构造性方法,针对地牢式关卡

读书笔记 PCG in Games 程序化内容生成3 构造性方法,针对地牢式关卡