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では利用できなくなりました。
それで、私はそれを失っていますか?このガイドラインは存在しましたか?それは何の言葉もなく捨てられたのですか?過去2年間、自分で長いクラス名を1つも作成していませんか。
誰かがここで骨を投げます。
更新 私は狂っていません。ガイドラインは存在した。Krzysztof Cwalinaは2005年にそれについて不満を述べています。