Ich erinnere mich deutlich daran, dass die von Microsoft vorgebrachte Richtlinie einmal darin bestand, einer abstrakten Klasse das Suffix "Base" hinzuzufügen, um die Tatsache zu vermeiden, dass es abstrakt war. Daher haben wir Klassen wie System.Web.Hosting.VirtualFileBase
, System.Configuration.ConfigurationValidatorBase
, System.Windows.Forms.ButtonBase
, und, natürlich, System.Collections.CollectionBase
.
Ich habe jedoch festgestellt, dass in letzter Zeit viele abstrakte Klassen im Framework dieser Konvention nicht zu folgen scheinen. Beispielsweise sind die folgenden Klassen alle abstrakt, folgen jedoch nicht dieser Konvention:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
Und genau das könnte ich in wenigen Sekunden erreichen. Also habe ich nachgeschlagen, was die offizielle Dokumentation zu sagen hat, um sicherzugehen, dass ich nicht verrückt bin. Ich habe die Namen von Klassen, Strukturen und Schnittstellen in MSDN unter Entwurfsrichtlinien für die Entwicklung von Klassenbibliotheken gefunden . Seltsamerweise kann ich die Richtlinie zum Hinzufügen von "Base" am Ende des Namens einer abstrakten Klasse nicht erwähnen. Die Richtlinien sind für Version 1.1 des Frameworks nicht mehr verfügbar.
Also, verliere ich es? Gab es diese Richtlinie jemals? Wurde es nur wortlos aufgegeben? Habe ich in den letzten zwei Jahren umsonst lange Klassennamen alleine erstellt?
Jemand wirft mir hier einen Knochen.
Update Ich bin nicht verrückt. Die Richtlinie existierte. Krzysztof Cwalina greift 2005 dazu auf.