外观模式门面角色 — 软件工程选择题
题目
某报表系统包含三个子系统类:DataSource(取数)、Formatter(格式化)、Exporter(导出)。现引入外观类 ReportFacade,其 generate() 方法内部依次调用这三个类。关于该外观模式中门面角色(ReportFacade)的职责,下列说法正确的是:A. 它必须继承三个子系统类,才能调用其方法;B. 它为子系统的高层接口提供统一入口,客户端只需与它交互,而无需了解子系统内部细节;C. 它负责封装各子系统的全部内部数据,禁止子系统之间任何直接交互;D. 它必须让客户端能够绕过门面直接调用 Formatter,否则模式不成立。