Java 如何以良好的方式存储配置/属性数据?

Java 如何以良好的方式存储配置/属性数据?,java,properties,map,Java,Properties,Map,比如说,我们有一个超类Car和两个子类Ford和Porsche。现在,图形用户界面应显示适当的表示(例如,汽车名称)。我们可以为每个子类添加一个额外的方法getCarName() 但是现在,我们有了另一个GUI,它希望通过其他属性来表示汽车,例如汽车名称加上生产国。然后我们必须添加另一种方法,等等 一般来说,我希望以一种好的方式存储某种配置/属性。原始数据结构(可能有很多子类)不应该每次需要另一个表示时都进行更改。因此,我考虑创建一个HashMap,将子类与其属性相关联,并将该HashMap交给

比如说,我们有一个超类
Car
和两个子类
Ford
Porsche
。现在,图形用户界面应显示适当的表示(例如,汽车名称)。我们可以为每个子类添加一个额外的方法
getCarName()

但是现在,我们有了另一个GUI,它希望通过其他属性来表示汽车,例如汽车名称加上生产国。然后我们必须添加另一种方法,等等

一般来说,我希望以一种好的方式存储某种配置/属性。原始数据结构(可能有很多子类)不应该每次需要另一个表示时都进行更改。因此,我考虑创建一个HashMap,将子类与其属性相关联,并将该HashMap交给GUI

但是应该使用什么样的钥匙呢
HashMap
不是解决方案,因为我不想仅仅为了存储表示而创建汽车对象。字符串表示独立于实例


设计图案也很受欢迎

为了有一个干净的设计,我宁愿在
Car
类中有一个类似
getProductionCountries
的方法,并且可以被每个子类覆盖。添加新车时,确实需要编写更多代码,但这是不可避免的。

您可以将任何汽车的所有属性/属性存储在POJO(例如:CarPropertyPOJO)中,然后使用此POJO显示所需的任何属性。这可以在不同的页面上统一使用。根据您的问题,CarPropertyPOJO将包含两个成员变量carName和productionCountry。 在一种情况下,您只想显示一辆车的属性,然后只需将CarPropertyPOJO对象传递给UI即可解决问题。 假设你想以表格形式显示许多汽车的属性,那么你可以通过 集合对象(ArrayList或HashMap)。CarSubclass Name可能只是表示汽车的子类