1

我有各种类,它们都包含地址详细信息,即 AddressLine1、AddressLine2、AddressLine3、Suburb、Town 等。

在前端,我需要以特定方式格式化地址,即

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

如果 AddressLine2 不存在或为空,则不显示。很直接。我正在尝试确定显示此信息的最佳方式。目前,每个类的 Address 属性调用一个 FormatAddress 方法,该方法写出 html 字符串。这作为类的方法存在。我的观点是任何格式都应该存在于前端控件中,即 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 回答