数据抽象-做什么重于怎么做
2013-02-02 16:09
176 查看
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的核心,没有抽象作为基础,封装,继承,多态
1.数据结构强调具体实现
抽象数据类型强调抽象接口
2.用户不应该知道也不必知道他的具体实现。只能通指定接口进行 暗箱操作。这样经过数据抽象,队列的本质特征有API 展现。非本质特征
屏蔽于客户的视野之外
3.许多程序员都有一个通病:重实现,轻接口,在编写代码时表现为:不等接口设计好就难忍开始大干。在阅读代码的时候表现:看到API
文档便昏昏欲睡。看到代码就两眼放光。针对接口编程而不是实现
4.不同的内部数据结构导致不同的算法
OOP提倡以数据为中心来组织算法逻辑
5.以接口为中心就设计而言的。强调对象的行为以及对象之间的交互。不关心底层的实现细节 OOD
以数据为中心是就实现而言,强调算法对数据的依赖性,以别于过程式以算法为中心的风格 OOP
分析阶段的主要目的是描述问题而非解决问题。OOA的关键是从问题领域中抽象出以对象为基础的概念模 OOA
OOA 以对象而非过程 OOA以接口而非实现 OOP 以数据而非算法
6.作为一个合格的程序员,写出的代码不仅要合法,还要合理。合法指合乎语法。合理指合乎语义。既然用到队列这个数据结构。当然要遵循
其使用规范。打个比方。法律只是维护社会秩序的最低限度规范。一个只遵守法律而不遵守通用规范的人必定与社会格格不入
合法合理,比如把queue_add 和 queue_delete的实现代码相互互换。此合法不合理
不合理是指实现者违背了规范抽象的承诺。合法是指编译器无法识别这种违法的行为
契约式设计中最大作用。便是违法代码尽早地路出马脚,将bug消灭于萌芽状态
7抽象有层级,有角度,有级别。不同的角度,视角,方向
8.抽象--尤其是数据 --才是OOP的核心,没有抽象作为基础,封装,继承,多态
相关文章推荐
- office 2010的规划求解和数据分析在什么地方,怎么加载office2010规划求解和数据分析
- hibernate批量数据插入优化 ------用Hibernate插入1万条数据,怎么做,有什么好的优化方法吗
- 大数据本质是什么,基础理论应该怎么理解?
- 笔记本硬盘数据导出失败怎么办丨用什么恢复
- php怎么将数据库封装,然后提供数据接口让其他API什么的访问
- 怎么理解VUE,VUE的数据驱动原理是什么,解释MVVM框架
- 如果java中一个方法不知道要传递多少参数也不知道传递过来的是什么类型的数据你会怎么做?
- 大数据是什么?大数据可以做什么?大数据实际做了什么?大数据要怎么做?
- 怎么恢复移动硬盘中毒了数据呢丨用什么方法恢复比较方便准确呢丨
- extjs中gridpanel中怎么获得选中行所对应的行数,比如点击第一行时的行数是1,行所对应的数据用什么方法获得
- 当发现不能读取页面上输入的数据时可能是什么原因造成的,怎么解决?.
- 怎么理解什么是大数据呢?
- 什么是沙盒模型?怎么写入、读取沙盒路径文件数据,哪些操作是属于私有api范畴
- SoundHound 识别歌曲的原理是什么?它的数据库的数据是怎么采集的
- java的set数据类型,是什么?怎么用?
- 每日刷题(2015/6/21):对比哈希表和STL map。哈希表是怎么实现的?如果输入数据规模不大, 可以使用什么数据结构来代替哈希表。
- 什么是数据源,DataSource,数据源就是 :任意数据集合的抽象。它提供该数据的类型,并在适当的时候以 InputStream 和 OutputStream 的形式提供对该数据的访问。
- 硬盘丢失的数据怎么恢复丨什么方法可以恢复硬盘文件呢丨
- 牛腩新闻视频 05讲 数据表操作类设计 要知道每个数据库表的操作类要干什么 以及 数据库和C#的命名规范
- 怎么恢复电脑硬盘格式化了数据呢