对于继承链中的类,什么是良好的命名约定?

mag*_*ell 2 c# inheritance

我在继承链中有三个类:

AddActorUITests : WebTestBase : IntegrationTestBase
Run Code Online (Sandbox Code Playgroud)

不过,我会以某种方式通过像命名约定的信号WebTestBase,从继承IntegrationTestBase,使得开发人员编写代码AddActorUITests不必检查WebTestBase,以确认它来自继承IntegrationTestBase.

有什么建议?

jga*_*fin 6

继承是关于is-a类之间的关系.无需在命名中使用某种约定即可轻松判断继承.

例如,如果你有一个Dog继承Animal你没有命名它DogAnimal.已经很容易理解狗是什么了.让我们从另一个角度来看待它.当你对这个Dog类进行编码时,为什么知道Animal你需要在名字中指出它是如此重要?匈牙利符号被放弃是有原因的.

如果您仍然需要这种表示法,那么您是否更多地使用继承作为工具箱.即你做继承只是为了在子类中获得一些不错的功能?在这种情况下,使用合成更好.