Я отчетливо помню, что одно время Microsoft предлагала добавить суффикс «Base» к абстрактному классу, чтобы избежать того факта, что он абстрактный. Таким образом, у нас есть классы , как System.Web.Hosting.VirtualFileBase
, System.Configuration.ConfigurationValidatorBase
, System.Windows.Forms.ButtonBase
, и, конечно же , System.Collections.CollectionBase
.
Но я заметил, что в последнее время многие абстрактные классы в Framework, похоже, не следуют этому соглашению. Например, все следующие классы абстрактны, но не следуют этому соглашению:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
И это как раз то, что я мог набрать за несколько секунд. Поэтому я посмотрел, что было сказано в официальной документации, чтобы убедиться, что я не сумасшедший. Я нашел названия классов, структур и интерфейсов в MSDN в Руководстве по проектированию для разработки библиотек классов . Как ни странно, я не могу найти упоминания о правилах добавления «Base» в конец имени абстрактного класса. И рекомендации больше не доступны для версии 1.1 Framework.
Итак, я теряю это? Существовало ли когда-либо это руководство? Его просто бросили без единого слова? Неужели я сам создавал длинные имена классов последние два года даром?
Кто-нибудь бросьте мне здесь кость.
Обновление Я не сумасшедший. Руководство существовало. Кшиштоф Квалина сетует на это в 2005 году.