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

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

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

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

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

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

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

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

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

巧用xmltype解析clob数据(r2笔记33天)

对于clob的数据,很多场合中都使用xml的格式,但是对于数据的查取和处理总是感觉力不从心。在条件允许的情况下,如果能够巧妙的使用xmltype来做数据处理,无...

3577
来自专栏coding for love

在线商城项目12-商品列表页价格筛选实现

之前我们约定前端传startPrice和endPrice来获取价格区间。我们设定如下规则:

1672
来自专栏GreenLeaves

EF基础知识小记一

1、EF等ORM解决方案出现的原因 因为软件开发中分析和解决问题的方法已经接近成熟,然后关系型数据库却没有,很多年来,数据依然是保存在表行列这样的模式里,所以,...

1829
来自专栏吉浦迅科技

DAY25: 阅读硬件的多线程

1274
来自专栏更流畅、简洁的软件开发方式

面向对象最重要的是“抽象”,三层最重要的也是“抽象”,没有抽象就不是真正的面向对象、三层。

  只用class的,那叫做“基于对象”,比如当初的vb6.0;只是分了三个项目,把以前写在一起的代码分成了三份,所谓的业务逻辑层就是一个传声筒,这一类自称三层...

2916
来自专栏纯洁的微笑

小明历险记:规则引擎Drools教程一

1473
来自专栏编程

Go语言·听说你想让程序运行的更快?

作者:孙飞撩技术 链接:https://www.jianshu.com/p/0db174aebfec 來源:简书 共11254字,阅读需28分钟 迁移自 CSD...

2196
来自专栏IT可乐

深入理解计算机系统(3.1)------汇编语言和机器语言

  《深入理解计算机系统》第三章——程序的机器级表示。作者首先讲解了汇编代码和机器代码的关系,阐述了汇编承上启下的作用;接着从机器语言IA32着手,分别讲述了如...

3989
来自专栏用户画像

3.2.1虚拟内存的基本概念

②当大量作业要求运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程序度的下降。

1144
来自专栏灯塔大数据

技术 | Python从零开始系列连载(十六)

那什么是模块呢?简单的讲,就是一些包装好的内容,当你要用到一些操作在这个模块中时,你就先要导入它

992

扫码关注云+社区

领取腾讯云代金券