我在System.Diagnostics.Contracts
命名空間中使用代碼合同類來爲我的對象定義一些合同,我想知道當合同被定義爲基礎時,其他人如何命名合同類接口。讓我說明用一個小例子:接口類型的代碼合同類的命名約定
[ContractClass(typeof(AnimalContract))]
public interface IAnimal
{
// definition here
}
[ContractClassFor(typeof(IAnimal))]
public class AnimalContract : IAnimal
{
// explicit interface implementation here
}
在這個例子中,我叫合同類AnimalContract,但有一個更好的名字?因爲契約是根據接口定義的,所以我幾乎想要命名IAnimalContract類來說明它是IAnimal接口的契約。通過這種方式,當我在解決方案資源管理器中看到這兩個項目時,它們可視化地「捆綁」,這有助於使事情保持在我的頭腦中。當然,合同本身並不是一個界面,所以以這種方式命名它對我來說味道不好。
你們(和gals)在這些情況下如何命名你的合同班?有一個公認的慣例嗎?