【发布时间】:2011-02-16 11:12:23
【问题描述】:
我想知道我们是否可以将设计模式应用于编写货币转换的代码,如果可以,那么它们会是什么?假设转化率是静态的,我们可以对其进行硬编码。
我考虑过使用“状态模式”,其中每个状态都代表一种特定的货币,并将公式封装到相应的转换方法中,例如'toDollars()'、'toPounds()' 等
另一种可能性(不确定它是否是一种设计模式)是使用从特定货币转换为另一种货币的函数对象,并将它们作为值存储在 2 级哈希表中,其中第一级键是“来自”货币,而第二级键是“to”货币。
是否有任何其他设计模式适用于这个问题?最抽象层面的问题是我们有“m”个实体,它们都是基于某些特定规则的可相互转换的。示例是将时区值相互转换;不同日历类型(公历/中文)等的日历日期相互转换。
感谢和问候!
【问题讨论】: