我有一个现有的REST应用程序,它将POJO(E.g Trade对象)缓存到ehcache,许多其他应用程序正在使用它。有些人正在将Trade对象发送到REST服务,以便它可以持久保存到Cache和DB,有些人正在使用REST服务对此缓存进行get操作。
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,它将扩展Trade并添加新属性并将这个新的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
。
另外请建议任何设计,以便我可以避免缓存这种类似的对象。
答案 0 :(得分:0)
嵌入(可能带有委托模式)在某些情况下似乎更加稳固。
public class ExtendedTrade {
private Trade trade;
private String operation = "";
private String dealType = "";
private String identifier = "";
.... //getters and setters
}
考虑:
我当然不会坚持认为这更好。