单项选择题

在进行面向对象设计时,不应该()

A.一个模块只负责一个简单的事
B.尽可能设计全能类
C.应该考虑可能存在的变化
D.应该尽可能隐藏实现细节