我正在尝试做一些聪明的事情。我正在创建一个天气应用程序,我们可以在其中用另一个天气 API 替换天气 API,而不会影响代码库。所以我从一个包含多个模块的 Maven 项目开始。
我有一个包含 Interface 类和 Base 类的 Base 模块。Interface 类包含对 API 的调用(所有调用都是相似的,如果不准确的话),Base 类包含 API 的属性(同样,所有属性都是相似的,如果不准确的话)。
我为我们正在测试的两个天气 API 中的每一个都有一个模块,并计划随着应用程序的发展为新的天气 API 创建更多模块。
最后,我创建了一个核心模块(包括 main)来实现我要测试的天气 API 的特定模块类。
现在,我知道最简单的方法是使用 switch 语句和枚举。但我想知道是否有更聪明的方法来做到这一点。也许使用模式?有什么建议么?
这是我刚刚描述的结构的图片:
这是 UML 表示:
这对我来说是一个学习过程。我想了解一个真正的 Java Guru 如何根据指定的配置实现适当的模块和类。
谢谢你的建议。