在哪里放置最佳实践代码?

时间:2009-10-10 16:18:33

标签: asp.net-mvc domain-driven-design

我有一个asp.net mvc应用程序,我有一个页面用于提供meteo信息。它看起来像:

  

今天的温度是34-35度

对于此

  

34-35度

,我有一种方法可以确保文本格式为

  

[号码] [点] [号码]

调用AssureCorrectDegressFormat()。 现在我问的是哪个最适合。直到现在我从视图中调用它,像这样:

  

但是我认为视图仅用于显示数据,而不是调用某些方法来操作这个文字。我将我的类SafeData移动到我的应用程序的核心,然后我将调用此方法的DTO传递给视图并获取正确的数据进行显示。我对你的意见感兴趣,这个课程的最佳位置在哪里,也许在基础设施层,以及在哪里调用它,现在我从我的服务中调用它。我忘了说我正在使用DDD aproach。

3 个答案:

答案 0 :(得分:4)

从我的角度来看,格式化是一个与视图相关的函数,因此应该在视图中调用它。至于实际执行格式化的代码,我可能会创建一个HtmlHelper扩展来处理格式。这样我可以在任何我想要的地方使用它,但只在一个地方使用代码。

 <%= Html.ShowDegrees( DV.TheDegreeString ) %>

答案 1 :(得分:1)

在View中格式化数据显示对我来说似乎很好。关于将它放在你的视图上,你不会三思而后行:

<%= Model.MyDate.ToString("f") %> 
你会吗?校长是一样的。

答案 2 :(得分:0)

如果这是一个非常简单的格式或计算,我只是把它放在视图中。如果它比那更复杂,我会在ViewModel中放一个方法。如果它很复杂并且可以在很多地方使用,我将为它创建一个HtmlHelper。