【发布时间】:2014-09-30 14:34:07
【问题描述】:
我正在构建我的第一个 n 层应用程序。
- 第一层是 ASP.net 网站。
- 第二个是业务层。
- 第三个是带有 dapper 的数据层。
第二层和第三层用于不同的网站。
当我有税收选项的数字字段时。 1 = 高 BTW 和 2 = 低 btw 和 3 = 无 btw 在业务 Artikel 类中做一个翻译功能是一个好的设计吗? 如果答案是否定的,那么翻译值的正确位置在哪里。 我在视图中使用这个函数来显示文本而不是数字。
例子:
Public Function ArtBtwShow() As String
Return ArtikelHelper.GetBtwName(ArtBtw)
End Function
GetBtwName 辅助函数:
Shared Function GetBtwName(Btw As String)
Select Case Btw
Case "0"
Return "Geen"
Case "1"
Return "Laag"
Case "2"
Return "Hoog"
Case Else
Return ""
End Select
End Function
【问题讨论】:
-
能否在业务逻辑中使用枚举而不是字符串之间的转换?或者,如果
BTW表示业务模型,那么将其设为强类型业务对象?听起来您正在传递一些“神奇值”,您需要手动将它们从一个“神奇值”转换为另一个“神奇值”。答案不是把转换放在哪里,答案是一开始就不要使用它们。 -
我可以将 ArtBtw 的类型更改为 Enumarable。但是如何设置 Enumarable 项目的显示值?
-
应该是
Enumerable吗?这实际上是您的建模结构的问题。如果它是Enumerable<T>,那么您可以通过从集合中选择该元素来显示一个元素,然后显示它。目前还不清楚问题是什么。
标签: asp.net asp.net-mvc dapper n-tier-architecture