适配器模式类型与实现 — 软件工程选择题
题目
某系统要求把旧类 LegacyReader 的 readRaw() 接口适配为目标接口 TextReader 的 readText();旧类源码不可修改,适配器需在运行时接收不同的 LegacyReader 实例,且不能依赖继承旧类。以下哪种实现符合对象适配器模式?
A. Adapter 继承 LegacyReader 并实现 TextReader,在 readText() 中调用 readRaw()
B. Adapter 实现 TextReader,持有 LegacyReader 对象,并在 readText() 中委托其 readRaw()
C. 修改 LegacyReader,使其直接实现 TextReader
D. 创建与 LegacyReader 无关的新类实现 TextReader,并自行读取文本