数据抽象-做什么重于怎么做
来源:互联网 发布:能写作的软件 编辑:程序博客网 时间:2024/04/29 21:59
7.2数据抽象
1.数据结构强调具体实现
抽象数据类型强调抽象接口
2.用户不应该知道也不必知道他的具体实现。只能通指定接口进行 暗箱操作。这样经过数据抽象,队列的本质特征有API 展现。非本质特征
屏蔽于客户的视野之外
3.许多程序员都有一个通病:重实现,轻接口,在编写代码时表现为:不等接口设计好就难忍开始大干。在阅读代码的时候表现:看到API
文档便昏昏欲睡。看到代码就两眼放光。针对接口编程而不是实现
4.不同的内部数据结构导致不同的算法
OOP提倡以数据为中心来组织算法逻辑
5.以接口为中心就设计而言的。强调对象的行为以及对象之间的交互。不关心底层的实现细节 OOD
以数据为中心是就实现而言,强调算法对数据的依赖性,以别于过程式以算法为中心的风格 OOP
分析阶段的主要目的是描述问题而非解决问题。OOA的关键是从问题领域中抽象出以对象为基础的概念模 OOA
OOA 以对象而非过程 OOA以接口而非实现 OOP 以数据而非算法
6.作为一个合格的程序员,写出的代码不仅要合法,还要合理。合法指合乎语法。合理指合乎语义。既然用到队列这个数据结构。当然要遵循
其使用规范。打个比方。法律只是维护社会秩序的最低限度规范。一个只遵守法律而不遵守通用规范的人必定与社会格格不入
合法合理,比如把queue_add 和 queue_delete的实现代码相互互换。此合法不合理
不合理是指实现者违背了规范抽象的承诺。合法是指编译器无法识别这种违法的行为
契约式设计中最大作用。便是违法代码尽早地路出马脚,将bug消灭于萌芽状态
7抽象有层级,有角度,有级别。不同的角度,视角,方向
8.抽象--尤其是数据 --才是OOP的核心,没有抽象作为基础,封装,继承,多态
- 数据抽象-做什么重于怎么做
- 大数据是什么?大数据可以做什么?大数据实际做了什么?大数据要怎么做?
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 轻应用,做什么?怎么做?
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 软件概要设计做什么,怎么做
- 数据挖掘能做什么
- 大数据能做什么
- 大数据能做什么
- 大数据能做什么
- 数据安全需要做什么?
- ibatis一对一、一对多实现以及性能分析
- Android Bluetooth 移植
- Inno Setup 安装前卸载原程序
- U盘Linux系统安装指南
- 一个比较完整的Inno Setup 安装脚本
- 数据抽象-做什么重于怎么做
- 欧几里得法求最大公约数
- 文档用图
- java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
- rational.py: An example Python class
- Oracle ERP系统借贷关系表
- C++中P.J. Plauger STL和SGI STL中map的区别
- 试题集
- ARC指南2 - ARC的开启和禁止