私は、従来のデータ/ビジネス/プレゼンテーションの階層化アプローチを実装するasp.net MVCアプリケーションに取り組んでいます。
私のエンティティ モデル (人を表す) の 1 つには、「州」のフィールドを含む住所/連絡先情報が含まれています。私のデータ ソース (ほとんど制御できません) は、州の値をフルテキストで提供します (例: "カリフォルニア" と "CA"、"フロリダ" と "FL" など)。
フルテキスト値を略語に変換するために使用する静的ヘルパー クラスを作成しました。
私の質問は、このヘルパー クラスをどこで参照し、変換をどこで行うべきかということです。
次のオプションが表示されます。
- この静的クラスを参照し、get 時に変換を実行するモデルでアクセサーを使用します。次のようなもの:
public string State { get { return StateConverter.Abbreviate(_state); } }
このエンティティ モデルが使用されるたびに、ビジネス レイヤーで変換を実行します。
この値が表示されるたびに、プレゼンテーション層で変換を実行します
これを実際のモデルで (get アクセサーを介して) 行う単純さが気に入っていますが、これはビジネス ロジックのような匂いがします。他のオプションは、これを多くの場所で変換する必要があることを意味します (ロジックの複製、人物リストのトラバースなど)。
ありがとう。