我有一组有限的产品名称字符串。我还有一个发送这些产品名称之一的网络服务。但是我需要以另一种格式发送产品名称。
所以我在发送消息之前需要一个格式化程序/映射器。
我可以制作一些硬编码的映射器类,它接受一个参数并返回一个硬编码的字符串,如下所示:
String mapper(String productName) {
switch (productName) {
case "product1":
return "prod1";
case "product2":
return "prod2"
}
但是,我不太喜欢这种方法,但我很难想出更好的解决方案。有人有更好的解决这个问题的方法吗?
我正在考虑将映射存储在数据库中,然后为此映射创建一个 DAO,它不使用开关,而是使用参数作为键,然后查询返回替代产品名称的数据库,但我不确定它是否确实是一个更好的解决方案。
有什么想法吗?
* 编辑*
忘了提这个:
原始产品名称当前存储在数据库中。我需要在不修改当前代码/表设置的情况下翻译这些名称,即我无法编辑表和当前类,但如果需要,我可以创建新表/类。