GRASP模式与职责分配 — 软件工程选择题
题目
某在线挂号系统中,Schedule(排班对象)内部持有若干时间段的剩余号额信息,Patient(患者对象)仅保存个人基本资料。现需实现「预约成功后自动扣减对应时间段剩余号额」这一职责。依据GRASP的信息专家模式与受保护变化模式,该职责最应分配给哪个对象?
A. Schedule对象,因其拥有号额信息,由其自身修改可保护剩余号额数据不受外部随意变更
B. Patient对象,因为是患者发起预约,发起者应承担全部业务职责
C. 系统主控类,集中处理所有职责便于集中修改
D. 任意对象均可,因为剩余号额是公共数据,谁都可以修改