动态刷新机制的业务对象
Posted 炼金士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态刷新机制的业务对象相关的知识,希望对你有一定的参考价值。
制作动态刷新引擎的动机,是为了解决业务系统中,业务组件要时刻根据数据源数据的变化而改变自己行为模式、表现形式的需求而设计的。
通过动态刷新引擎,业务组件无需时刻监视数据源数据的变化,而是通过动态刷新引擎主动推送数据来得到最新的、感兴趣的数据及其变化。
1,标记数据源
仅需在发布动态数据的业务类(继承Phenix.BusinessBase)上标记:
[Phenix.Core.PermanentRenovateLog]
即可,只要发生提交数据的动作,则被动态刷新服务截获并广播到订阅者。
2,设计订阅者
继承Phenix.Renovate.BusinessBase、Phenix.Renovate.BusinessListBase;
在Phenix.Renovate.BusinessListBase继承类里实现接口:
namespace Phenix.Renovate.Client
{
/// <summary>
/// 订阅者接口
/// </summary>
public interface ISubscriber
{
#region 属性
/// <summary>
/// 同步间隔(秒)
/// </summary>
int SynchronizeSpace { get; }
/// <summary>
/// 为动态刷新服务和自动构建业务对象集合提供select语句
/// 注意:SQL字段与业务类字段的映射关系用DataMapperAttribute标注
/// where条件不允许带参数
/// </summary>
string SelectSql { get; }
#endregion
}
}
并打上标签:
[Phenix.Core.PermanentRenovateLog(ViewName = 视图ID)]
如果不打标签则将该类的全名作为视图ID
如此,只要在业务系统中,new业务集合类,并调用它的StartRenovate()、StopRenovate()来开启或者停止动态刷新。在开启阶段,系统自动维护业务集合对象里的业务对象及其属性值。
以上是关于动态刷新机制的业务对象的主要内容,如果未能解决你的问题,请参考以下文章