抽象工厂模式 — 软件工程选择题
题目
某跨平台报表系统采用抽象工厂模式:抽象工厂 ReportFactory 声明 createHeader() 与 createChart() 两个方法;具体工厂 PdfFactory 与 ExcelFactory 分别创建 PDF 族和 Excel 族产品,客户端持有 ReportFactory 类型引用并调用其方法生成报表。现需新增支持 Word 格式的报表。下列说法正确的是:
A. 需修改 ReportFactory 接口和两个已有工厂才能支持 Word
B. 新增 WordFactory 实现 ReportFactory 即可,客户端仅在注入工厂处做一处改动,符合开闭原则
C. 应删除 PdfFactory 与 ExcelFactory,改用条件判断创建 Word 产品
D. Word 报表的表头与图表应由两个不同工厂分别创建再组合