首页 > 其他 > 详细

ADT

时间:2018-06-16 20:21:18      阅读:155      评论:0      收藏:0      [点我收藏+]

这?列出了?个能够表达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

原文:https://www.cnblogs.com/L160300101/p/9191230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!