我有一个我编写iCal事件的类,它包含公共的嵌套类。该类是iCal中组件的基本复杂类型,例如事件,警报等,并且使它们成为程序其余部分使用的公共嵌套类是有意义的。
我已经读过,拥有公共嵌套类是编程错误的标志。为什么它很糟糕,何时适合嵌套类?
答案 0 :(得分:1)
这是所有恕我直言,但来自大约15年来分析其他人的创作:
如果嵌套类是私有的并且不是由包含类的公共接口公开,那么这是合适的。
例如,链接列表类将嵌套在其中的链接列表节点类,该节点类特定于实现内部,但不会向链接列表类的使用者公开。
否则,我不会打扰,因为它只会增加不必要的复杂性。
为了您的示例,如果它们被iCal事件类公开,我会将所有类更改为正常类。