2016-06-23 6 views
-1

公的な静的クラスを作成するか、内部定数を使用するか? 私は非常に大規模なアプリケーションに取り組んでおり、多くのplaces.Thisでのconst文字列の使用は、私が何をしたいのかpublic static classまたはconst

const string Thatch = "Thatch"; 
const string BrickAndTimberFrame= "Brick And Timber Frame"; 
const string OtherRoof = "Other"; 
etc...... 
etc...... 

を、ユーザーの選択を比較するために使用されて気づいたのですと、かなりコアにパブリック静的クラスを作成することですアプリケーション(コードを参照してください)。この理由は、値を変更/追加する必要があるのは1か所だけです。

public static class RoofConstruction 
{ 
    public static String Thatch{ get { return "Thatch"; } } 
    public static String BrickAndTimberFrame { get { return "Brick And Timber Frame"; } } 
    etc.... 
    etc.... 
} 

比較関数は、任意のコメント/改善点を追加してください。この

internal bool SlateTileOrConcreteRoof() 
     { 
      return RiskInformation.RoofConstruction.Value == RoofConstruction.Slate || 
        RiskInformation.RoofConstruction == RoofConstruction.TileAndSlate || 
        RiskInformation.RoofConstruction == RoofConstruction.Concrete; 
     } 

のようになりますなど

+0

設定ファイル –

答えて

0

一般的に言って、私は考えて“その‘良いクラス™ ’の決定的な特徴、”は “がないことである正しいこと、気にしない(!)‘どうして正確に”です。あなたはクラスから定数をエクスポートすると”

が、これは、アプリケーションの他のセクションの未知の数(現在と未来が...)は、その文字列に対してテストロジックが含まれていることを示唆しています。

したがって、唯一あなたが本当に答えることができることを質問:  “は、彼らは本当に、その文字列の値‘気に’またはそれらが答えているはい・オア・ノー質問に‘答えをしたいですかその文字列の値に基づいて部分? ’ ”  これは、何が最善かについてのあなたの決定を導くかもしれません。 (明るい線のルールはありません。 私はそれを両方の方法で行っています...)

関連する問題