2017软件构造3.3
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相关推荐
- 软件构造 第二章 第一节 软件生命周期和版本控制
软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...
- 软件构造的视图与质量指标
软件构造的实质:Transformation between different views(不同视图之间的转换) Multi-dimensional software views 按阶段分:buil ...
- 【软件构造】第二章 软件构建的过程和工具(2)
二.软件构造的编程.系统.工具 [广义软件构造的过程] 1. 编程 (1)开发语言:Java.C.C++.Python等 ·IDE:集成开发环境 - 方便编写代码和管理文件 - 能够编译.构建 - 结 ...
- 【软件构造】第一章 软件构造基础(1)
一.软件构建多维视图 1. 什么是软件 (1)构成 ·程序Program:UI, Algorithms, Utilities, APIs, test cases, etc ·数据Data:files, ...
- 软件构造 第一章第二节 软件开发的质量属性
软件构造 第一章第二节 软件开发的质量属性 1.软件系统质量指标 External quality factors affect users 外部质量因素影响用户 Internal quality ...
- 软件构造学习笔记-第九周、第十周
因为本周五开始五一假期,所以只有一节软件构造课.因为内容还属于创建模式.结构模式.行为模式.将该堂课的内容整合到本博客中.本周的重点是程序开发模式,在写代码之前首先充分考虑采用哪种模式更有利于开发.维 ...
- 软件构造学习笔记-第八周
本周重点是Liskov可替换原则.它要求父类和子类的行为一致性,子类要有更强的不变量.更弱的前置条件.更强的后置条件.在该原则的要求下,每个子类都可以对父类进行替换.这在开发过程中会带来极大的便利,在 ...
- 软件构造-犯错的艺术——健壮性与正确性,异常,防御式编程,debugging与test的思考与总结...
健壮性与正确性 健壮性与正确性是不同的--一个倾向于使程序尽可能保持运行,即使遇到错误,一个倾向于使程序尽可能正确,不在意保持运行 异常 异常分为两种--checked exception与unche ...
- 1-1 软件构造过程中的多维视图
本节目标: 本节大纲: 随着时间的推移,人们对软件的认识的变化: 软件不能脱离外部环境: 软件构造的多个维度: 时间:瞬时(某一天某个时间点).周期(变化情况) 编码:构建开发(代码的结构.多少类.类 ...
- [HITSC]哈工大2020春软件构造Lab3实验报告
Github地址 1 实验目标概述 本次实验覆盖课程第 3.4.5 章的内容,目标是编写具有可复用性和可维护 性的软件,主要使用以下软件构造技术: 子类型.泛型.多态.重写.重载 继承.代理.组合 常 ...
最新文章
- 计算机术语表达祝福,考研祝福| | 计算机 愿你们历经千帆,终达彼岸
- boost::mpl模块实现upper_bound相关的测试程序
- Oracle 数据文件迁移
- uboot移植(七)——移植三星官方uboot(一)
- ByteArray、16进制、字符串之间的转换
- 网络爬虫--25.【selenium实战】实现拉勾网爬虫之--selenium获取数据
- 修改hostname有几种方式?(转)
- python代码实现文件复制txt文件_工具类(1.1)
- dofilter在java中_在Filter的doFilter中进行重定向 出现异常
- Python——Scipy库
- Linux Command diff 文件比较
- 安利几个好用的在线画图网站
- InstallShield vs2015 的安装与激活
- 使用 kickstart 半自动化安装CentOS系统 利用PXE实现自动化安装centos系统
- 结婚吉日怎样挑选?好好把握幸福启程
- JavaScript,css时间计时器
- matlab 图像处理技术
- Win10桌面图标没有办法拖动(可以选中可以打开可以删除新建等操作但是不能拖动)
- 故障分析 | Cassandra 用户信息 list Error
- Booth理解与Booth改进版的由来
热门文章
- 《菜菜的机器学习sklearn课堂,孔浩Java视频百度云盘
- 16款私藏多年的PC端效率小软件推荐
- 2018年秋招笔试面试----小学渣求职历险记(中南篇)
- 基于LineMod与ORK的三维物体识别与姿态估计
- python文本分析工具_可以用来分析文本数据的Python工具的完整指南
- Android 性能分析工具介绍
- ArcView,ArcGis,MapObjects,ISRI有什么区别
- iOS多线程 的 线程同步
- qq音乐专属格式转换_将网易云音乐专用的无损音乐格式转换成全平台通用的无损格式...
- DOA算法1:MUSIC算法(一)