OEA 扩展属性系统 - 主要设计类图

时间有限,简单快速的完成本篇博客……(很多问题在此就不细说清楚了,主要还是记录一下成果。)

 

* 先是整个子系统要完成的需求列表:

image

 

 

* 然后是对它的分析,以及整个逻辑方案的结构。

图中的“概要”部分同时说明了静态结构和运行时时期的划分。

image

 

 

* 以及,这样的结构,如何实现整个需求的描述:

image

 

 

* 逻辑方案中的静态结构,主要还是看以下的类图设计:

第一张,自然是托管属性本身的结构设计。当时只考虑了编译期属性的实现,后来添加了运行时属性的实现。二者实现方案不同,前者使用数据,后者使用哈希表,主要是为了性能及动态之间的权衡。

image

 

使用托管属性的 API,是直接写在 ManagedPropertyRepository 类中的:

image

 

托管属性是一个最底层的可重用组件,为了适配到当前 OEA 的元数据系统上,需要使用一个 IPropertyMetaProvider 接口来提供数据:

image

 

最后一张图,说明了可扩展属性系统如何使用 WPF Binding,整个设计类似于前一篇博客中所说的 DataTable 绑定分析:

image

posted @ 2011-10-30 11:47  BloodyAngel  阅读(843)  评论(0编辑  收藏  举报