类似问题
我的问题
许多人同意只有当你有理由使用受保护的方法时才应该使用它们。测试驱动的开发模型如何实现这一点?(特别是关于伪造对象。)我有一个朋友是 TDD 的忠实粉丝,现在是 BDD 并且是 C# 开发人员,他告诉我他几乎不使用private
关键字。在他这么说之后,我继续将它用于字段,但开始将我的所有方法默认为protected
. StackOverflow 上的一些人也同意protected
默认情况下应该使用它——你们中的一些人可以权衡一下这个问题吗?默认使用的最佳理由是什么protected
(因为上面的线程解释了不使用的原因)?
编辑:根据 Oded 的评论,protected
默认情况下使用和开闭原则(一个类应该对扩展开放,对修改关闭)怎么样?