命令行货币转换器应用程序,提示用户输入 源货币、源货币代码和目标货币代码,例如
C:\workspace> java CurrencyConverter 100.50 EUR GBP
应用程序返回源金额转换为目标货币的值 例如对于上面的输入,它返回
100.50 EUR = 86.33 GBP
显示转换后的值后,程序退出。
可用汇率(基于英镑)位于逗号分隔值文件中。该文件的格式是 国家、名称、代码、费率 例如
United Arab Emirates, Dirhams, AED, 7.2104
Australia, Dollars, AUD, 1.51239
Bosnia and Herzegovina, Convertible Marka, BAM, 2.60565
Bulgaria, Leva, BGN, 2.60948
我有一个 java 文件可以完成这些事情,但是如何将其转换为设计良好、可扩展且可维护的形式,并遵循良好的 OO 原则?
我是否应该考虑任何设计模式,如果是,需要哪些不同类型的对象/接口(interface)以及它们之间的关系?
最佳答案
我想到的一些设计方面
读取 CSV 文件:创建一个 ExchangeRateReader 工厂,以便 各种格式的汇率文件可以用作输入。
(Objectify) ExchangeRate POJO 对象包含代码、名称、国家/地区和汇率
具体工厂类生成从 CSV 读取的 ExchangeRate 对象 文件
ReaderType使用Enum:CVS、TEST、EXCEL//工厂依赖 创建适当的实例(具体工厂实例)
关于Java货币转换器秉承OO(面向对象)原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22964415/