У меня есть существующее приложение REST, которое кэширует POJO (объект E.g Trade) в ehcache, и многие другие приложения используют это. Некоторые отправляют этот объект Trade в службу REST, чтобы его можно было сохранить в Cache и DB, а некоторые выполняют операцию get для этого кэша с использованием службы REST.
public class Trade implements Serializable {
private static final long serialVersionUID = -92565215465632589L;
private String tradeNo = new String();
private String isin = new String();
private String quantity = new String();
.... //getters and setters
}
Теперь я хочу добавить еще один компонент в наше приложение, которое использует многие из указанных выше торговых атрибутов, а также много новых, которые я хочу добавить в качестве части функциональности. Я не хочу добавлять новые атрибуты в существующий Trade POJO, поскольку это также повлияет на существующий код. Должен ли я создать новый POJO, который расширит торговлю, добавит новые атрибуты и сохранит этот новый POJO в кеше? У меня будет почти аналогичный объект в кеше с таким подходом :-(. Любой другой хороший подход или шаблон проектирования доступен?
public class ExtendedTrade extends Trade {
private String operation = new String();
private String dealType = new String();
private String identifier = new String();
.... //getters and setters
}
Выше ExtendedTrade
, который я описывал в своем подходе.
Также, пожалуйста, предложите любой дизайн, чтобы я мог избежать кэширования объектов подобного типа.