前几节我们开发的智能指针类和异常类族并没有继承自Object,现在我们需要将它们进行整合,作为DTLib这个类库的基础设施。整合的时候需要遵循现代软件的架构模式。 遵循经典设计准则 DTLib中所有类位于单一继承树,可以根据下图中的方式进行整合: 在异常类族中有了新的成员InvalidOperati ...
分类:
其他好文 时间:
2018-08-19 13:54:17
阅读次数:
114
本文是本系列文章的第二篇,讲述了整个数据结构课程要遵守的规则(单一继承树、使用泛型编程、只抛出异常不处理异常)及原因,并通过实验实现了整个数据结构库所依赖的基础设施,异常类族和智能指针以及顶层父类(规范动态内存申请结果)
分类:
其他好文 时间:
2018-05-12 18:30:05
阅读次数:
164
构建自己的类库,MxLib 迭代开发 单一继承树:所有类继承自Object类,规范堆对象创建时的行为 只抛异常,不处理:使用宏抛出异常,提高可移植性 弱耦合性:尽量不使用标准库中的类和函数,提高可移植性 顶层父类 软件架构实践经验: 尽量使用单重继承的方式进行系统设计 尽量保持系统中只存在单一的继承 ...
分类:
其他好文 时间:
2017-11-18 19:56:04
阅读次数:
230
一、遵循经典设计原则 DTLib中的所有类位于单一继承树 IvalidOperationEXception是新增的异常类,描述某些成员函数在状态不对的时候被抛出 二、改进的关键点 1、EXception类继承自Object类:堆空间中创建异常对象失败时,返回NULL指针,用的是自己的new版本 更改 ...
分类:
其他好文 时间:
2017-05-08 21:52:27
阅读次数:
298