我有各种类都包含地址详细信息,即AddressLine1,AddressLine2,AddressLine3,Suburb,Town等。
在前端,我需要以特定方式格式化地址,即
AddressLine1<br />
AddressLine2<br />
Suburb State Postcode
如果AddressLine2不存在或为空,请不要显示它。挺直截了当的。我正在尝试确定显示此信息的最佳方式。目前,每个类的Address属性调用一个FormatAddress方法,该方法写出html字符串。这作为类的方法存在。我的意见是,前端控件(即ascx等)应该存在任何格式。但是,如果这些DetailClasses需要格式化相同的地址信息,那么最好的选择是什么,也更容易维护?
答案 0 :(得分:1)
如果组成部分是公共属性,那么扩展方法怎么样?这不会污染类本身的地址抽象,但可以轻松,自然地访问功能和可读性。
public static class AddressExtensions
{
public static string ToHtmlString(this IAddress address)
{
// return the formatted html from address
}
}
答案 1 :(得分:0)
似乎这些格式化方法特定于一个类,其中每个类都可以拥有自己的专用格式。
在类本身中处理格式化是可以接受的。
或者您可以在UI程序集中创建专门的格式化类,专门用于每个类,其中可以标记格式化类,例如,通过属性,识别它专门用于格式化的数据类的类型。