域类中的Html格式化

byt*_*der 1 architecture design-patterns domain-driven-design

我的域中有一个简单的地址对象,它有一个ToString()返回地址的方法,如下所示:

123 Test Ave
Appt 1A
Spokane,WA 99201

我们将在几个不同的场合将它放在一个网页上,这样就可以在某个地方添加功能以显示带有Html格式的地址,但是如果我在哪里添加一个ToStringHtmlFormat()到我的域类,它开始闻起来很有趣.

我可能有点挑剔,但你在哪里/如何建议完成这个以保持我的域类免于任何Html的东西?

谢谢你的建议......

flq*_*flq 6

您可以拥有一个能够"访问"域类并打印出来的HTMLWriter.然后,您的域类需要一个Accept方法来接受访问者(访问者模式).

在灵活性和可维护性方面,我会选择一些包含HTML的模板引擎以及对要打印的属性的访问权限.通常,更复杂的站点也会引入一种名为ViewModel的东西,它可以让UI HTML Engines可以轻松访问的方式准备数据.