3.3摘要数据类型

1.abstraction:在高级方法中隐藏或省略一些低级细节,将系统分装成模块每个模块可单独进行操作,隐藏模块的细节信息

2.

creator 创作该类型的新对象,creator可以将对象作为参数,但不是正在构建类型的对象

producer 从该类型旧对象中产生新对象,String的Concat方法是一个producer

observers 采用ADT对象并返回不同类型 eg:List中的Size()

Mututors 改变对象 eg:List中的add()

3.字符串的简单表示

4.测试

5.check rep

6.一个优秀的ADT:

Safe from bugs

Easy to understand

Ready for change

2017软件构造3.3相关推荐

  1. 软件构造 第二章 第一节 软件生命周期和版本控制

    软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...

  2. 软件构造的视图与质量指标

    软件构造的实质:Transformation between different views(不同视图之间的转换) Multi-dimensional software views 按阶段分:buil ...

  3. 【软件构造】第二章 软件构建的过程和工具(2)

    二.软件构造的编程.系统.工具 [广义软件构造的过程] 1. 编程 (1)开发语言:Java.C.C++.Python等 ·IDE:集成开发环境 - 方便编写代码和管理文件 - 能够编译.构建 - 结 ...

  4. 【软件构造】第一章 软件构造基础(1)

    一.软件构建多维视图 1. 什么是软件 (1)构成 ·程序Program:UI, Algorithms, Utilities, APIs, test cases, etc ·数据Data:files, ...

  5. 软件构造 第一章第二节 软件开发的质量属性

    ​软件构造 第一章第二节 软件开发的质量属性 1.软件系统质量指标 External quality factors affect users 外部质量因素影响用户 Internal quality ...

  6. 软件构造学习笔记-第九周、第十周

    因为本周五开始五一假期,所以只有一节软件构造课.因为内容还属于创建模式.结构模式.行为模式.将该堂课的内容整合到本博客中.本周的重点是程序开发模式,在写代码之前首先充分考虑采用哪种模式更有利于开发.维 ...

  7. 软件构造学习笔记-第八周

    本周重点是Liskov可替换原则.它要求父类和子类的行为一致性,子类要有更强的不变量.更弱的前置条件.更强的后置条件.在该原则的要求下,每个子类都可以对父类进行替换.这在开发过程中会带来极大的便利,在 ...

  8. 软件构造-犯错的艺术——健壮性与正确性,异常,防御式编程,debugging与test的思考与总结...

    健壮性与正确性 健壮性与正确性是不同的--一个倾向于使程序尽可能保持运行,即使遇到错误,一个倾向于使程序尽可能正确,不在意保持运行 异常 异常分为两种--checked exception与unche ...

  9. 1-1 软件构造过程中的多维视图

    本节目标: 本节大纲: 随着时间的推移,人们对软件的认识的变化: 软件不能脱离外部环境: 软件构造的多个维度: 时间:瞬时(某一天某个时间点).周期(变化情况) 编码:构建开发(代码的结构.多少类.类 ...

  10. [HITSC]哈工大2020春软件构造Lab3实验报告

    Github地址 1 实验目标概述 本次实验覆盖课程第 3.4.5 章的内容,目标是编写具有可复用性和可维护 性的软件,主要使用以下软件构造技术: 子类型.泛型.多态.重写.重载 继承.代理.组合 常 ...

最新文章

  1. 计算机术语表达祝福,考研祝福| | 计算机 愿你们历经千帆,终达彼岸
  2. boost::mpl模块实现upper_bound相关的测试程序
  3. Oracle 数据文件迁移
  4. uboot移植(七)——移植三星官方uboot(一)
  5. ByteArray、16进制、字符串之间的转换
  6. 网络爬虫--25.【selenium实战】实现拉勾网爬虫之--selenium获取数据
  7. 修改hostname有几种方式?(转)
  8. python代码实现文件复制txt文件_工具类(1.1)
  9. dofilter在java中_在Filter的doFilter中进行重定向 出现异常
  10. Python——Scipy库
  11. Linux Command diff 文件比较
  12. 安利几个好用的在线画图网站
  13. InstallShield vs2015 的安装与激活
  14. 使用 kickstart 半自动化安装CentOS系统 利用PXE实现自动化安装centos系统
  15. 结婚吉日怎样挑选?好好把握幸福启程
  16. JavaScript,css时间计时器
  17. matlab 图像处理技术
  18. Win10桌面图标没有办法拖动(可以选中可以打开可以删除新建等操作但是不能拖动)
  19. 故障分析 | Cassandra 用户信息 list Error
  20. Booth理解与Booth改进版的由来

热门文章

  1. 《菜菜的机器学习sklearn课堂,孔浩Java视频百度云盘
  2. 16款私藏多年的PC端效率小软件推荐
  3. 2018年秋招笔试面试----小学渣求职历险记(中南篇)
  4. 基于LineMod与ORK的三维物体识别与姿态估计
  5. python文本分析工具_可以用来分析文本数据的Python工具的完整指南
  6. Android 性能分析工具介绍
  7. ArcView,ArcGis,MapObjects,ISRI有什么区别
  8. iOS多线程 的 线程同步
  9. qq音乐专属格式转换_将网易云音乐专用的无损音乐格式转换成全平台通用的无损格式...
  10. DOA算法1:MUSIC算法(一)