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



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

但是现在,我们有另一个GUI,它想用一些其他属性来表示汽车,例如汽车名称加上生产国家。然后我们必须添加另一个方法,依此类推。

一般来说,我想以一种好的方式存储一些配置/属性。原始数据结构(可能有很多子类)不应该在每次需要另一种表示时更改。所以我想创建一个HashMap,它将子类与其属性关联起来,并将这个HashMap交给GUI。

但是应该使用什么样的密钥呢?HashMap<Car, String>不是解决方案,因为我不想仅仅为了存储表示而创建汽车对象。String的表示形式与实例无关。

也欢迎设计模式。

您可以在POJO中存储任何汽车的所有属性/属性(例如:CarPropertyPOJO),然后使用此POJO来显示您需要的任何属性。这可以在不同的页面上统一使用。根据您的问题CarPropertyPOJO将包含2个成员变量carNameproductionCountry。在一种情况下,你只是想显示单个汽车的属性,然后只需传递一个CarPropertyPOJO对象到UI将解决这个问题。假设你想在表格形式中显示许多汽车的属性那么你可以传递a集合对象(ArrayList<<em>CarPropertyPOJO>或HashMap)。

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

相关内容

  • 没有找到相关文章

最新更新