1. ホーム
  2. c#

[解決済み] C#のクラスの命名規則。BaseClassなのかClassBaseなのかAbstractClassなのか?

2022-08-22 09:16:33

質問

基底クラスの命名にはどのような方法が推奨されますか?型名の前に " を付けることでしょうか? ベース または "です。 抽象 とか、quot;Base"を付けるだけでしょうか?

次のように考えてみましょう。

の型があります。 ViewModel MainViewModel , ReportViewModel

基底クラスである BaseViewModel または ViewModelBase または AbstractViewModel

も検討してください。

のタイプになります。 Product 仮想製品 , 期限切れの製品

基底クラスである BaseProduct または ProductBase または AbstractProduct

どちらがより標準的だと思いますか?

class Entity : EntityBase
{
}

または

class Entity : BaseEntity
{
}

どのように解決するのですか?

フレームワークには、Baseサフィックスを使った例もあります。 System.Configuration.Provider.ProviderBase , System.Web.SessionState.SessionStateStoreProviderBase .

しかし、決してフレームワークのすべての抽象基底クラスがこの慣習に従っているわけではありません (例えば System.Data.Common.DbParameter , System.Data.Common.DbCommand ).

個人的には、サフィックスである がなければ 私は、このクラスが抽象クラスであることを強調したかったし、そうでなければ、このクラスのユーザーはこの名前が具体的な実装を示すと期待するかもしれないと思ったからです。