我清楚地记得,曾经有一次,Microsoft提出的指导方针是将“ Base”后缀添加到抽象类中,以消除它是抽象的事实。因此,我们有类,如System.Web.Hosting.VirtualFileBase
,System.Configuration.ConfigurationValidatorBase
,System.Windows.Forms.ButtonBase
,,当然,System.Collections.CollectionBase
。
但是我注意到,最近,框架中的许多抽象类似乎都没有遵循这个约定。例如,以下类都是抽象的,但不遵循此约定:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
这就是我可以在几秒钟内完成的工作。因此,我去查找官方文档中要说的内容,以确保我没有发疯。我在《开发类库的设计指南》上的MSDN上找到了类,结构和接口的名称。奇怪的是,我找不到提及在抽象类名称的末尾添加“ Base”的准则。并且指南不再适用于框架的1.1版。
那么,我会失去它吗?该指南曾经存在吗?只是一言不发就被遗弃了吗?在过去的两年中,我是否一直独自创建长类名称?
有人在这里扔我一根骨头。
更新 我不疯。该准则存在。Krzysztof Cwalina于2005年加入了这项计划。