背景
我有一个计划已经为加拿大安大略省实施了两项“经典”税:5%消费税和8%PST。在2010年7月初,该省大部分转为一项13%的HST税。 Effects and changes here但这些不是这个问题的主要内容......
问题
什么是最佳实践和良好的解决方案,以便轻松适应零售税的未来变化?税收变化经常发生。我确信有很多SO用户都有很好的经验。
因为我的编程是.NET,所以我会为解决方案提供这种环境。
答案 0 :(得分:2)
我会建议这两个解决方案:
答案 1 :(得分:0)
当它是一个简单的税率,例如销售税时,您将费率放在一个常数(即readonly decimal OntarioGST = 0.05M
)中,并使用新的常量向您的程序发送更新,以响应费率变化。
对于更复杂的税收,您可以应用strategy pattern并替换算法作为回应。
无论哪种方式,您都需要推出软件更新。您无法真实地期望您的客户能够处理诸如“如果费率发生变化,您必须在配置文件中输入新费率”之类的内容。