Discuz!NT控件剖析之左侧导航控件
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-04-11
; __baseAggregationData = new AggregationData(); __forumAggregationData = new ForumAggregationData(); __spaceAggregationData = new SpaceAggregationData(); __albumAggregationData = new AlbumAggregationData(); __photoAggregationData = new PhotoAggregationData(); //加载要通知的聚合数据对象,Attach函数将在下面内容中介绍 AggregationDataSubject.Attach(__baseAggregationData); AggregationDataSubject.Attach(__forumAggregationData); AggregationDataSubject.Attach(__spaceAggregationData); AggregationDataSubject.Attach(__albumAggregationData); AggregationDataSubject.Attach(__photoAggregationData); } 而前端显示页面的数据对象获取将通过如下属性进行相关的操作和调用。 public static ForumAggregationData ForumAggregation { get { return __forumAggregationData; } } 目前已设计了数据读取时所使用的逻辑(相关的聚合数据类),但如果通过进程去更新相应的 已加载的数据 (因为在discuz!nt中的数据要考虑跨进程数据同步)。同时因为要更新的内容又过 于繁杂,所以要使用一种机制来解决这个问题。 这里我使用了Observer来尝试解决这个问题。 这里不妨将这个模式的图放在这里: 同时也有系统中所使用的相应设计如下,便于大家进行对比。 好的,而相关的模式实现代码如下(AggregationDataSubject类中): 1 #region 采用Observer模式清空当前进程中的聚合数据 2 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Discuz!NT控件剖析之左侧导航控件的所有评论