今天是本系列的第五回,填报志愿。
高考填报,由考生侧发起。首先利用requestEmptyApplcation方法从AdmissionOffice处获得空的志愿表。requestEmptyApplcation的实现也是利用Prototype设计模式,由既有的模板克隆得来。

考生在得到空表后利用Application提供的方法填报自愿。可填写学校的数目由Application自己决定。AdmissionOffice并不需要了解Application的细节,只是负责数据的传递。【C++编程语言】中有一句话:抽象就是有选择的装糊涂。这个场景下,AdmissionOffice就要装糊涂。这样就可以尽量减少模块之间的耦合性。
志愿填报完了之后,在交回给AdmissionOffice保管。
现在,AdmissionOffice已经变成这下面的样子,相比昨天的样子,增加了PlanManager和ApplicationManager两个类,都是从QMap继承得来的。

你能判断出Plan Manger,ApplicationManager的概要么?比如说
- 它们负责管理的数据呢?
- 他们分别是何种数据之间的映射呢?
阅读最新文章请扫描下面二维码,关注公众号【面向对象思考】欢迎转载并把文章分享给更多的朋友!

















