代码整洁_对象和数据结构
来源:互联网 发布:linux指令 编辑:程序博客网 时间:2024/05/16 09:52
1. 数据抽象
我们不愿暴露数据细节,更愿意以抽象形态表达数据。要以更好的方式呈现某个对象的包含的数据。
2. 数据、对象的反对称性
对象把数据隐藏于抽象之后,暴露操作数据的函数。数据结构暴露其数据,没有提供有意义的函数。
复杂系统中,添加新数据类型而不是新函数时,对象和面向对象就比较适合
添加函数而不是数据类型的时候,过程式代码和数据结构更适合。
3. 得墨忒耳律
模块不应了解它所操作对象的内部情形。 方法不应调用由函数返回的对象的方法。
3.1 火车失事,连串调用
3.2 混杂 对象和数据结构混杂
3.3 隐藏结构
4. 数据传送对象
最为精炼的数据结构,是一个只有公共变量、没有函数的类。即数据传送对象(DTO),
总结:
对象暴露行为,隐藏数据,便于添加新对象类型而无须修改既有行为,但难以在对象中添加新行为。数据结构暴露数据,没有明显的行为,便于向即有数据结构添加新行为,但难以向既有函数添加新数据结构。视情况而使用
阅读全文
0 0
- 代码整洁_对象和数据结构
- 代码整洁之道----对象和数据结构
- 代码整洁之道------ 对象和数据结构
- 代码整洁之道--对象和数据结构
- 代码整洁之道 对象和数据结构
- 《代码整洁之道》摘录---对象和数据结构
- 6、代码整洁之道——对象和数据结构
- 代码整洁之道读书笔记--对象和数据结构
- 代码整洁之道--对象和数据结构体会
- 代码整洁之道精华——第六章 对象和数据结构
- 代码整洁之道-第六章-对象和数据结构-page87
- 代码整洁_注释
- 代码整洁_格式
- 代码整洁_边界
- 代码整洁_单元测试
- 代码整洁_类
- 代码整洁_系统
- 代码整洁_迭进
- 欢迎使用CSDN-markdown编辑器
- quartz详解2:quartz由浅入深
- Chiefr:分布式项目开发模型和工具包
- ccf 学生排队
- 简单版城市列表搜索
- 代码整洁_对象和数据结构
- mysql事物隔离级别设置
- quartz详解1:初步了解quartz
- 判断两个表达式在数学上是否是等价的。 输入 第一行:N(1<=N<=20),表示测试数据组数。 接下来每组测试数据包括两行,每行包括一个数学表达式,每个表达式的长度不超过80个字符。输入数据没有空行。
- Chiefr:分布式项目开发模型和工具包
- 程序员易混淆的10个基础概念
- 碎碎念 | 记录一下第一次开通博客的心情
- tensorflow之CNN进阶cifar10实现
- 讯飞语音SDK继承简单使用