1

AddressLine1、AddressLine2、AddressLine3、Suburb、Town など、住所の詳細をすべて含むさまざまなクラスがあります。

フロントエンドでは、アドレスを特定の方法でフォーマットする必要があります。

AddressLine1<br />
AddressLine2<br />
Suburb State Postcode

AddressLine2 が存在しないか空の場合は、表示しないでください。非常に簡単です。この情報を表示する最善の方法を決定しようとしています。現時点では、各クラスの Address プロパティは、HTML 文字列を書き出す FormatAddress メソッドを呼び出します。これはクラスのメソッドとして存在します。私の意見では、フロントエンド コントロール (ascx など) から任意の書式設定が存在する必要があります。ただし、これらの DetailClasses が同じアドレス情報を書式設定する必要がある場合、最適なオプションは何でしょうか。また、維持も容易になりますか?

4

2 に答える 2

2

構成要素がパブリック プロパティである場合、拡張メソッドはどうでしょうか。これにより、クラス自体のアドレスの抽象化が損なわれることはありませんが、機能への簡単で自然なアクセスと読みやすさが得られます。

public static class AddressExtensions
{
    public static string ToHtmlString(this IAddress address)
    {
        // return the formatted html from address
    }
}
于 2010-04-01T03:55:01.247 に答える
0

これらの書式設定メソッドは、各クラスが独自の特殊な書式設定を持つことができるクラスに固有のものであるように思われます。

クラス自体で書式設定を処理する必要があることは許容されます。

または、クラスごとに特殊化された UI アセンブリで特殊化された書式設定クラスを作成することもできます。この場合、書式化クラスをマークすることができます。たとえば、書式化するために特殊化されたデータ クラスのタイプを識別する属性によって言うことができます。

于 2010-04-01T03:50:56.700 に答える