如何使消息(来自域)格式/标记无知?

时间:2010-08-05 19:53:22

标签: .net domain-driven-design

我想从我的域发回格式化的消息,例如: (跟我说这不是一个真实的例子,它只是为了说明我的观点)

  

用户先生,您无法执行此操作   任务因为:

     
      
  1. 原因1
  2.   
  3. reason 2
  4.   
  5. 原因3
  6.   

我也想展示颜色。

现在我从已经标记为HTML的域发送它。

这对我来说似乎不对。因为如果我想重新使用具有不同前端的域,可能不支持HTML,则需要不同的格式和/或标记。

我如何设计这个以便我打算在用户屏幕上显示的域名消息无法标记?

1 个答案:

答案 0 :(得分:2)

对于非常简单的,你可以这样做:

class DomainMessage
{
    public string Message { get; set; }
    public Color ForeColor { get; set; }
    public bool IsError { get; set; }
}

或者您可以使用装饰器模式并以此方式创建消息。然后,您可以创建一个DomainMessageWriter来接收域消息并吐出正确的标记(即HtmlDomainMessageWriterRtfDomainMessageWriter等。

HTH