gpt4 book ai didi

currency - 多货币最佳实践和实现

转载 作者:行者123 更新时间:2023-12-03 05:44:36 27 4
gpt4 key购买 nike

我发现很难找到任何有关处理多种货币的最佳实践的讨论。任何人都可以提供一些见解或链接来提供帮助吗?

我知道有多种方法可以做到这一点 - 无论是在事务上按原样存储输入的值,还是在功能上转换为基本费率。在这两种情况下,都需要存储涵盖 future 可能需要转换成的每种货币的交易时间的汇率。

我喜欢交易方法的灵 active ,它允许稍后输入旧的汇率信息,但可能比功能方法有更多的开销(因为您必须存储更多的汇率数据)。

性能和可扩展性是主要因素。我们有(全部.net)一个 win & web 客户端、一个报告套件和一组为数据库后端提供功能的 Web 服务。如果需要,我可以将汇率信息缓存在某处(例如在客户端上)。

编辑:我真的很想要一些文档的链接,或者包含以前经验中的“陷阱”的答案。

最佳答案

我找不到任何明确的讨论,所以我发布了我的发现,希望对某人有所帮助。

货币表应包含文化代码以使用任何全局化类。

交易方式

  • 以客户本地货币存储,并存储交易发生时应用的交易货币的多种兑换率。
  • 每种货币需要多种汇率
  • “网站设置”表将存储输入货币
  • 客户端级别的值输入和输出不会产生任何开销,因为可以假设该值采用正确的货币
  • 要应用汇率,您需要知道输入值的币种(对于跨客户报告可能会有所不同),然后将其乘以交易时间段内有效的关联实体汇率。<

函数式方法

  • 以一种基础货币存储,并保留该货币随时间变化的汇率
  • 需要考虑前端和数据库之间的点是转换值的最佳位置
  • 由于需要转换为基础货币,因此输入性能会受到轻微影响。汇率可以缓存在客户端(注意每个实体可能使用不同的汇率)
  • 这需要一组汇率(从基础货币到所有其他所需货币)
  • 要应用汇率,每笔交易都需要在基础货币和所需货币之间进行转换

复合

  • 在交易时存储交易值(value)和功能值(value),这样就不需要存储汇率信息。 (这不是一个合适的解决方案,因为它实际上将您限制为任何给定值的两种货币)

比较

实际上,您必须在函数方法和事务方法之间进行选择。两者各有优缺点。

函数式方法不需要存储本地货币进行交易,需要将当前的db值转换为基础货币,只需要一组汇率,虽然需要较少的存储空间,但实现和维护稍微困难。

交易方法更加灵活,尽管它确实需要保存更多的汇率信息,并且每笔交易都需要与输入货币相关联(尽管这可以应用于一组客户而不是每笔交易)。它通常不会影响已投入生产的代码,因为本地货币仍将在本地级别使用,从而使该解决方案易于实现和维护。尽管显然任何需要转换为不同货币的报告或值都会受到影响。

在这两种情况下,每笔交易都需要其需要转换为的每种货币在交易时的汇率——对于功能方法来说,这是在交易时需要的,但是交易方法允许更大的灵 active ,因为过去的汇率数据可以随时输入(允许使用任何货币),即您失去了在功能方法中使用其他汇率的能力。

结论

货币管理的交易方法将提供一种灵活的方法,避免对客户端性能产生任何负面影响,并且零客户端代码修改。如果需要不同的货币,则所有报告都需要返工,可能会对性能产生负面影响。每个客户端站点都需要存储一个货币引用,说明其输入货币是什么。应该可以避免在较高级别(例如一组客户站点等)存储汇率,这将最大限度地减少存储的数据量。如果需要较低级别的汇率信息,可能会出现问题。

关于currency - 多货币最佳实践和实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3150018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com