>设置Model的setModified,setCacheble属性这个不能轻易使用它,如果你不能完全掌控你的Model设计的话,使用这个两个属性会导致一些复杂问题出现。
>我的一个Model类覆盖父类
如果你的一个Model对象发生修改变动,你只需要通过modelManager.removeCache方法将其从缓存中去除即可。
如果这个Model对象变动需要影响其父Model对象,那么这时你必须搞清楚:是不是影响父Model对象的状态了?
按照DDD(领域驱动设计理论),一个Model对象分为两种性质:实体自己内容;对象状态(被称为Value Object)。
所以,在大部分情况下,答案应该是影响父Model对象的状态了,这时你只要更新父Model的状态对象即可。
以JiveJdon3中ForumThread和ForumMessage为例子,它们是父子关系,当ForumMessage发生CRUD之后,该主题线索中的最后一个贴的属性就发生了一些变化,所以,ForumMessage发生变化后,实际是影响了ForumThread的状态对象ForumThreadState对象。
目前,JF的setModified,setCacheble属性没有包含父子关系联动功能,也就是说,如果子对象发生更新,我只要设置子对象的setModified为真,这样,其父对象应该也得知,这样缓存机制目前没有,好像JBossCache有,但是因为JF框架是结合DDD设计的,所以,不但实现机制上要简洁快;而且在建模理论上要有可行性。正在研究中。