Scut 进阶:EntityChangeEvent

  EntityChangeEvent 最重要的两个变量:ItemEvent、ChildrenEvent。

 ItemEvent 的功能流转:

 

  从整个跳转图可以看出,这个功能的作用是 -- 自动将数据修改保存至redis。

1. 首先要逐层地“AddChildrenListener”,将上层的 NotifyByChildren 作为订阅,给下层的 ItemEvent 来发布;

2. 要手动封装属性的“set”,修改结果的同时,发布对象的 ItemEvent - notify,逐层往上;

3. 最顶端的 NotifyByChildren 是被 AbstractEntity 重写过的,负责向 redis 同步数据;

 

  ChildrenEvent 的作用看起来则相反,是从上层逐层向下的、调用每一层的 UnChangeNotify,可以失效属性的通知功能。

posted on 2016-08-31 16:14  青墨淡潋  阅读(254)  评论(0编辑  收藏  举报