1、数据抽象
类通过暴露抽象接口,是用户无需了解数据的实现就能操作数据本体
2、数据、对象的反称性
过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下增加新函数
面向对象代码便于在不改动既有函数的前提下新增新类
3、德墨忒尔律
德墨忒尔律:模块不应了解他所操作对象的内部情形。换言之,方法不应调用由任何函数返回的对象的方法。
3.1 火车失事
一连串的函数调用,看起来就像是一列火车,这类代码成为火车失事
3.2 混杂
混杂,即一半是对象,一半是数据结构,这种结构拥有执行操作的函数,也有公共变量或公共访问器即改值器
混杂增加了增加新函数的难度,也增加了增加新数据结构的难度。两面不讨好
3.3 隐藏结构
对于多个串行调用的函数的情形,可以根据最终调用获取值的目的,可以直接将此目的实现为对象的一个方法,这样即可完成对内部结构的隐藏
4、数据传送对象
最为精炼的数据结构,是一个只有公共变量、没有函数的类,这种数据结构有时被称为数据传送对象,或DTO(Data Transfer Object)







































苏公安网备 32011402010933号