![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java与软件构造
文章平均质量分 51
玄学家CS
Van世不恭
展开
-
浅谈Java中Map、Set、List的使用
前言这三者说实话给我的感觉和C++中的STL所提供的内容是十分类似的,并且在使用的过程中也有若干共通的地方。但由于Java中会强调“接口”,所以这三者在实际使用的时候和C++中的用法也有不同之处。MapMap是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度。对于需要存储在对应HashMap中的类可以通过编译器自动生成一个hashcode函数来对其进行哈希。由于其中的元素实质上是对象,原创 2021-07-07 18:01:56 · 149 阅读 · 0 评论 -
面向正确性与健壮性的软件构造
何为正确性与健壮性?健壮性:系统在不正常输入或不正常外部环境下仍能够表现正常的程度面向健壮性的编程:处理未期望的行为和错误终止、即使终止执行,也要准确无歧义的向用户展示全面的错误信息,以便于debug。健壮性编程的准则:封闭实现细节,限定用户的恶意行为,考虑极端情况,没有不可能。正确性:程序按照spec加以执行的能力,是最重要的质量指标正确性倾向于直接报错,健壮性更倾向于容错。如何测量正确性与健壮性?外部观察角度:MTBF即平均失效间隔时间。计算了系统的两次失效之间的平均时间。原创 2021-07-07 14:36:54 · 131 阅读 · 0 评论 -
面向可维护性的构造技术
何为软件维护?软件维护:即修复错误、改善性能一些常用的指标可维护性指数:计算出一个位于0到100的值来表示代码的维护难度继承的层次数类之间的耦合度单元测试的覆盖度模块化编程要求:高内聚、低耦合、分离关注点、信息隐藏评价模块化的五个指标:可分解性、可组合性、可理解性、可持续性、出现异常后的保护模块化的五个规则:直接映射、尽可能少的接口、尽可能小的接口、显式接口、信息隐藏OO设计的准则SRP 单一责任原则 OCP 开放-封闭原则 LSP Liskov替原创 2021-07-06 21:49:09 · 135 阅读 · 0 评论 -
面向复用的软件构造技术
关于软件复用在这里我们可以将其划分为两种,一种是面向复用编程,即开发出可以复用的软件,还有一种是基于复用编程,即利用已有的可复用软件搭建应用系统。为什么要复用?降低成本和开发时间 经过充分测试,可靠、稳定 标准化,在不同应用中保持一致复用性能的检测复用的机会有多频繁?复用的场合有多少? 复用的代价有多大?不同级别的复用代码级别的复用 模块级别的复用:class/interface Library级别的复用:API/Package 系统级别的复用:Framework1.代原创 2021-07-06 20:39:21 · 127 阅读 · 0 评论 -
[ADT实践应用]Java中线段树求区间和的实现
这学期粗浅的学习了Java的语法,以及系统地学习了ADT和OOP的概念,心血来潮自己去实现了一个线段树的Java实现,在去理解课程的xiang'guan之余原创 2021-06-16 15:07:48 · 115 阅读 · 0 评论