高内聚低耦合原则 — 软件工程选择题
题目
某订单系统的 OrderService 类当前承担:校验订单数据、计算订单金额、生成PDF发票、发送邮件通知、写数据库。现提出三种重构方案:方案甲,拆分为 Validator、Calculator、InvoiceGenerator、Notifier、Repository 五个类,OrderService 只做流程编排;方案乙,将全部职责合并入一个 GodClass;方案丙,把校验与计算合并为一个 OrderBiz 类,发票与邮件合并为一个 NotifyUtil 类,数据库操作保留在 OrderService。从高内聚低耦合原则看,哪个方案最合理?
A. 方案乙,类越少耦合越低
B. 方案甲,每类职责单一、模块内聚最高且通过接口协作降低耦合
C. 方案丙,类数量适中即为最优
D. 三方案内聚耦合水平相同,无需重构