我在继承链中有三个类:
OK
但是我想通过AddActorUITests : WebTestBase : IntegrationTestBase
从WebTestBase
继承的命名约定来表示,以便在IntegrationTestBase
中编写代码的开发人员不必检查AddActorUITests
来验证它继承自WebTestBase
。
有什么建议吗?
答案 0 :(得分:6)
继承是类之间的is-a
关系。无需在命名中使用某种约定即可轻松判断继承。
例如,如果您有Dog
继承Animal
,则不要将其命名为DogAnimal
。已经很容易理解狗是什么了。让我们从另一个角度来看待它。当你对Dog
类进行编码时,为什么知道你需要在名称中指明它是Animal
为何如此重要?匈牙利的记谱法被放弃是有原因的。
如果您仍然需要这种表示法,那么您是否更多地使用继承作为工具箱。你继承只是为了在子类中获得一些不错的功能?在这种情况下,使用合成会更好。
答案 1 :(得分:1)
如果您使用/// <summary>
/// Inherit <see cref="IntegrationTestBase"> class
/// </summary>
class WebTestBase : IntegrationTestBase
{
...
}
,可以使用评论吗?
WebTestBase
当用户输入Visual Studio
时,genson
会自动在弹出消息中显示评论。