您的位置:首页 > 其它

数据抽象-做什么重于怎么做

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的核心,没有抽象作为基础,封装,继承,多态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐