N层问题:你在哪里做变量铸造?

时间:2010-10-25 17:03:40

标签: validation n-tier-architecture

我们的UI将用户输入公开为字符串。所有这些,包括日期和数字,都是字符串。问题是:在UI中将这些转换为适当的类型(datetime,int等)更好(然后将转换后的var传递给BLL方法),还是在BLL本身?

3 个答案:

答案 0 :(得分:2)

输入验证和转换应在UI层上完成。

这不仅是因为您的业务层处理类型化数据,而且如果输入错误类型或者值超出范围*,您也可以轻松抛出UI错误消息。

*有些框架对于这类事情有自己的验证逻辑...... ASP.NET是我能想到的第一个。

答案 1 :(得分:0)

UI类型转换应该在UI层中完成,而不是BL层。这将UI与BL分离。

答案 2 :(得分:0)

我更喜欢在UI中进行类型转换,并让BLL期望正确的数据类型。