实验三的标题是:Reusability and Maintainability oriented Software Construction,即面向可复用性和可维护性的软件构造。这里就向面向对象编程的较为深入的阶段了。我们学习了继承委派关系,以及设计模式,以实现可维护可复用编程。
实验主要内容是根据要求实现一个计划项及其资源,位置等数据类型,然后选择给出的存在一些关联又不完全相同的现实情境进行编程。给出了五个实际情境:航班,高铁车次,CPU执行程序,课程以及活动。这五个情形都有时间、地点、资源的特征,都属于有计划的事件。面对选出的五个事件进行可维护可复用的编程。
这五个现实情境设计的恰到好处,它们存在一定的关联而又不能完全划等号,这就对数据类型的设计以及复用设计提供了空间而又存在难度。我选择了航班,高铁,以及课程。
对于航班,有两个位置(起止机场),一个时间对,一个资源(飞机)。对于课程,有一个位置(教室),一个起止时间对,一个资源(教师),对于火车,则有多个位置(车站),多对时间,多个资源(车厢),利用继承和委派的关系,可以很好的实现可复用的编程。
之后又对实现的计划项数据类型进行实际的操作,包括GUI实现管理计划项,API的实现。还有新增修改功能。如果可复用性做的不错的话,实现还是比较容易的,虽然GUI的学习和实现非常的繁琐。
这次实验的难度和量都是比较大的,我对这次实验有一些建议,希望可以分成两个实验,将GUI编程和可复用性变化的实现放到新的实验当中,可能是我天赋不够或者过分追求完美,实现GUI费了很长的时间。如果分成两部分就更加合理了。