代码应该在哪里进行转换?客户端,服务器,业务或数据库?
我们目前在数据库中进行时区和度量单位的转换,性能正在扼杀我们,并希望移动逻辑。您认为最佳位置在哪里?
由于
答案 0 :(得分:5)
我肯定会从数据库中获取该代码。您希望尽可能将数据存储在一组通用单元中。将您的时间数据存储为一个特定的语言环境(通常是您自己的)很常见。
我也不会把它放在业务层中,因为那时你会遇到必须使用来自不同语言环境的时间进行计算的情况,并且你需要它们具有相同的起始引用。同样,你应该将它们全部放在一个共同的基础上,这里最合乎逻辑的就是让那个基地成为你存储它们的任何语言环境。
我认为最合乎逻辑的做法是在显示之前的最后一刻将时间转换为用户的语言环境。这将它牢牢地放在GUI层中。
答案 1 :(得分:2)
通常这些是客户端/ UI选择。但是可以将该首选项传递给服务器或业务规则。
我会在客户端中执行此操作以将数据标准化到其他地方。
编辑:
如果你有一个非常瘦的客户端并且不想为它添加逻辑,那么找到你有代码/规则/等的下一个地方并在那里添加它们。找到最外层/客户端代码,然后将其放入。
答案 2 :(得分:0)
我们正在尝试“尽可能早”(在我们的例子中是客户端连接的地方)并在服务器上端到端地使用统一数据。当然,当发回时,数据会被适当地转换。
答案 3 :(得分:0)
我不确定“转换”是什么意思。如果您的意思是本地化,那么传统上这是在GUI层中完成的。