Ricordo distintamente che, un tempo, la linea guida spinta da Microsoft era quella di aggiungere il suffisso "Base" a una classe astratta per ovviare al fatto che fosse astratta. Quindi, abbiamo classi come System.Web.Hosting.VirtualFileBase
, System.Configuration.ConfigurationValidatorBase
, System.Windows.Forms.ButtonBase
, e, naturalmente, System.Collections.CollectionBase
.
Ma ho notato che, negli ultimi tempi, molte classi astratte nel Framework non sembrano seguire questa convenzione. Ad esempio, le seguenti classi sono tutte astratte ma non seguono questa convenzione:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
Ed è proprio quello che ho potuto tirare fuori in pochi secondi. Quindi sono andato a cercare cosa diceva la documentazione ufficiale, per assicurarmi di non essere pazzo. Ho trovato i nomi di classi, strutture e interfacce su MSDN in Linee guida di progettazione per lo sviluppo di librerie di classi . Stranamente, non riesco a trovare alcuna menzione della linea guida per aggiungere "Base" alla fine del nome di una classe astratta. E le linee guida non sono più disponibili per la versione 1.1 del Framework.
Quindi lo sto perdendo? Questa linea guida è mai esistita? È stato appena abbandonato senza una parola? Ho creato lunghi nomi di classi da solo negli ultimi due anni per niente?
Qualcuno mi ha lanciato un osso qui.
Aggiorna non sono pazzo. La linea guida esisteva. Krzysztof Cwalina se ne lamenta nel 2005.