代码整洁之道 读书笔记 - 第6章 对象和数据结构
数据结构、对象的反对称性
对象(对象式代码)曝露行为,隐藏数据。便于添加新对象类型而无需修改既有行为,同时也难以在既有对象中添加新行为。
数据结构(过程式代码)曝露数据,没有明显的行为。便于向既有数据结构添加新行为,同时也难以向既有函数添加新数据结构。
在任何系统中,我们有时会希望能够灵活地添加新数据类型,所以更喜欢在这部分使用对象。
另外一些时候,我们希望能灵活地添加新行为,这时我们更喜欢使用数据类型和过程。
优秀的软件开发者不带成见地了解这种情形,并依据手边工作的性质选择其中一种手段。
得墨忒耳律
模块不应了解它所操作对象的内部情形