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