请从数据处理方式、系统的可扩展性和处理性能三个方面,比较管道-过滤器架构风格和仓库架构风格的优缺点,并说明在线软件开发系…
简答题
请从数据处理方式、系统的可扩展性和处理性能三个方面,比较管道-过滤器架构风格和仓库架构风格的优缺点,并说明在线软件开发系统更适合哪种架构风格。
答案:管道-过滤器风格:数据处理方式为数据流驱动,各过滤器独立处理数据,可扩展性较好,但性能受过滤器间数据传输影响;仓库风格:数据处理方式为中心数据存储,各构件共享数据,可扩展性较好,但性能受中心存储访问瓶颈影响。在线软件开发系统需要频繁交互和共享数据,更适合仓库风格。
解析
参考答案
- 管道-过滤器:数据流驱动,过滤器独立处理并传递结果;松耦合、易增删过滤器,但传输与格式转换影响性能。
- 仓库:中心数据存储,构件共享读写;易增构件,但中心存储访问和并发控制成瓶颈。
- 可扩展性:二者均较好,管道靠加过滤器,仓库靠加构件。
- 性能:管道受过滤器间传输影响;仓库受中心存储 I/O 和锁竞争影响。
- 结论:在线软件开发系统需频繁交互、共享代码/文档/任务数据,更适合仓库风格。
得分点解析
- 数据处理方式:决定风格本质,答错则后续比较失据。
- 可扩展性:体现演进能力,需说明扩展手段。
- 性能:体现瓶颈来源,管道在传输,仓库在中心访问。
- 结论理由:须结合在线系统共享数据、频繁交互的特征。
延伸
仓库可分为数据库与黑板;管道-过滤器适合编译器、批处理。选型取决于数据流还是共享状态。