单项选择题

A.模块应对扩展开放,而对修改关闭
B.优先使用继承,而不是组合
C.要针对接口编程,而不是针对实现编程
D.抽象不应该依赖于细节,细节应当依赖于抽象