动态刷新机制的业务对象

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()来开启或者停止动态刷新。在开启阶段,系统自动维护业务集合对象里的业务对象及其属性值。

以上是关于动态刷新机制的业务对象的主要内容,如果未能解决你的问题,请参考以下文章

如何动态刷新一个table

unity ugui 怎么制作下拉动态刷新

Ionic 2:添加新的动态选项卡后刷新选项卡视图

使用jquery的load方法设计动态加载,并解决浏览器前进后退刷新等问题

WPF中的DataGrid 数据动态刷新UI

关于apollo刷新带有@ConfigurationProperties注解的注入对象的解决办法