ADT

Posted l160300101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADT相关的知识,希望对你有一定的参考价值。

这?列出了?个能够表达ADT思想的词:

  • 抽象: 忽略底层的细节?在?层思考
  • 模块化:将系统分为?个模块,每个模块可以单独的进?设计、实现、测试、推倒,并且在剩下的开发中进 ?复?。
  • 封装:在模块的外部建?起?道“围墙”,使它只对??内部的?为负责,并且系统别处的bug不会影响到它内 部的正确性。
  • 信息隐藏:将模块的实现细节隐藏,使未来更改模块内部时不必改变外部代码。
  • 功能分离:?个模块仅仅负责?个特性/功能,?不是将?个特性运?在很多模块上或?个模块拥有很多特性。

 

抽象数据类型(ADT)是通过它们对应的操作区分的。

  • 操作可以分类为创建者、?产者、观察者、改造者。
  1. creator 创作该类型的新对象,creator可以将对象作为参数,但不是正在构建类型的对象
  2. producer 从该类型旧对象中产生新对象,String的Concat方法是一个producer
  3. observers 采用ADT对象并返回不同类型 eg:List中的Size()
  4. Mututors 改变对象 eg:List中的add()
  • ADT的标识由它的操作集合和规格说明组成。
  • ?个好的ADT应该是简单,逻辑明确并且表?独?的。
  • 对于ADT的测试应该对每?个操作进?测试,并同时利?到创建者、?产者、观察者、改造者。

 

设计?个抽象类型包括选择合适的操作以及它们对应的?为。

  • 设计少量,简单,可以组合实现强?功能的操作??设计很多复杂的操作。
  • 每个操作都应该有?个被明确定义的?的,并且应该设计为对不同的数据结构有?致的?为,?不是针对某些特殊情况。
  • 操作集合应该充分地考虑到?户的需求,也就是说,?户可以?这个操作集合做他们可能想做的计算。
  • 抽象类型可以是通?的:例如,列表、集合,或者图。

以上是关于ADT的主要内容,如果未能解决你的问题,请参考以下文章

20161127-adt bundle

adt无法导出pdbqt

[Functional Programming ADT] Combine Multiple State ADT Based Redux Reducers

eclipse安装ADT

安装 ADT 插件后无法打开 Eclipse

门口挂牌adt是啥意思