Bir keresinde Microsoft tarafından öne sürülen kılavuzun, soyut olduğu gerçeğini ortadan kaldırmak için soyut bir sınıfa "Temel" sonekini eklemek olduğunu çok iyi hatırlıyorum. Dolayısıyla, böyle sınıfları System.Web.Hosting.VirtualFileBase
, System.Configuration.ConfigurationValidatorBase
, System.Windows.Forms.ButtonBase
, ve, tabii ki, System.Collections.CollectionBase
.
Ama fark ettim ki, son zamanlarda Çerçeve'deki pek çok soyut sınıf bu kuralı takip ediyor gibi görünmüyor. Örneğin, aşağıdaki sınıfların tümü soyuttur ancak bu kurala uymayın:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
Ve birkaç saniye içinde çalabildiğim şey bu. Bu yüzden deli olmadığımdan emin olmak için resmi belgelerin söylemesi gerekenlere bakmaya gittim. Sınıf Kitaplıkları Geliştirmeye Yönelik Tasarım Yönergelerinde MSDN'de Sınıfların, Yapıların ve Arayüzlerin Adlarını buldum . İşin garibi, soyut bir sınıfın adının sonuna "Base" eklemek için kılavuzdan hiç bahsedemiyorum. Ve yönergeler artık Çerçeve'nin 1.1 sürümü için mevcut değildir.
Yani, kaybediyor muyum? Bu kılavuz hiç var mıydı? Tek kelime etmeden terk mi edildi? Son iki yıldır boşu boşuna uzun sınıf isimleri mi yaratıyorum?
Biri bana bir kemik atsın buraya.
Güncelleme ben deli değilim. Kılavuz vardı. Krzysztof Cwalina 2005'te bundan şikayet ediyor.