软件工程 选择题 标准

依赖倒置原则 — 软件工程选择题

软件设计模式 面向对象设计原则 AI 三重审校通过

题目
某支付系统中,订单结算类 CheckoutService 的 pay() 方法内直接持有具体支付渠道类 AlipayClient 的引用并调用其方法。若要依据依赖倒置原则重构该设计,正确的做法是:A. 让 CheckoutService 改为依赖 AlipayClient 的父类并继续直接 new 具体子类 B. 抽象出支付渠道接口 PaymentChannel,让 AlipayClient 实现该接口,CheckoutService 仅依赖该接口 C. 在 CheckoutService 中增加 if-else 分支以支持更多具体支付渠道类 D. 将 pay() 方法从 CheckoutService 移入 AlipayClient 中以消除依赖