单项选择题

A.软件实体应该对扩展开放,对修改关闭
B.高层次模块应该依赖于低层次模块
C.不应强制要求客户依赖他们不用的接口
D.子类必须能够完全替代它的父亲类