我们有一个可以有效日期和到期日的对象。(例如,我想在一段时间内保持商品的价格)
业务规则 -
生效日期始终是有效日期(日期戳),但是,到期日期可以为空以指示对象始终处于活动状态。此外,有效日期和失效日期都可以设置为某些有效日期。
是否有任何框架管理对象以使对象保持一致,即有效期没有重叠?
实施例
class XBOX{
double price;
Date effectiveDate;
Date expiryDate;
}
XBOX x1 = new XBOX(400$, '2007-01-01','2008-12-31' );
XBOX x2 = new XBOX(200$, '2009-01-01',null );
假设我们从'2010-01-01'获得新的费率,并且必须创建一个新的XBOX对象(保持)。
是否有可以执行以下操作的框架/模式,以便XBOX保持一致。
x2.setExpiryDate('2009-12-31')
XBOX x3 = new XBOX(150$, '2010-01-01',null );
提前致谢。
答案 0 :(得分:0)
我不知道任何可以为您处理此问题的框架。如果您自己构建它,我建议您只存储每个产品的价格列表和开始日期。所以,对于上面的例子,我会存储:
price start_date 400 2007-01-01 200 2009-01,01
然后您不必担心重叠或重叠的日期空间,因为数据结构不支持它。