上篇文章《OEA中的AutoUI重构(2)- 评审会议前的总体设计》写了在“OEA框架”中进行AutoUI模块重构的设计方案。最近项目组已经召开了评审会议,并对该设计进行了审核、建议。本篇文章主要记录其中一些主要的改动。
设计改动
大家认为 AggregateBlocks 和 BlockDefinition 的设计过于复杂,不易于理解。考虑的东西太多,有过度设计之嫌,所以这一处的设计改为使用Composite模式来组合“UI块”:
另外,上次的设计中,有一个小错误:不应该把元模型的仓储 UIInfoRepository 放在单个的界面组成单元中,而是应该放在更上层的整个界面的元模型层。
相应的任务计划
会议中,大家还提出为这些任务进行简单的任务排序、计划,这样可以更好并行地完成本次重构。以下是一个简单的任务并发图:
设计尾声
评审会议中出现了一些其它问题,属于我个人的问题,我已做了深刻的反思:《12月反思 - 组内设计评审会议》。有兴趣的朋友可以看看,不要犯和我相同的错误。
评审会议已经结束,接下来我会按照这样的设计思路完成整个重构的代码实现。当然了,过程中肯定会继续调整一些具体代码。此系列的下一篇文章会在重构之后,以总结的形式完成。
PS: 由于项目目前加入了许多的新任务。所以代码实现的任务将会推迟到下一期的Sprint中……