动态横向数据调用——动态组件绑定

来源:互联网 发布:wow 国服 mac 编辑:程序博客网 时间:2024/05/19 06:18

       在编写面向终端用户操作的通用界面时,常常需要进行横向数据调用,一个录入数据源是其他数据源的一个提供者。比如ERP中的物料分类和物料,通常在构建物料时,需要选择对应的分类,我们可以通过下拉列表或弹出选择框,选择对应的分类,避免了录入,同时增加了强关联性,此处的物料分类即为横向数据,在其他地方关联带入的。

      横向数据一般在硬编码层面写入,因此就降低了灵活性,与特定控件和数据源,包括显示绑在了一起。

      为了实现在运行时,动态加载绑定数据源,我们需要进行一个包装和隔离变化,把数据源和具体的绑定控件全部隔离出来,放入配置文件,在运行加载具体组件时,通过拉取对应的配置信息,反向加载数据源。这样在Coding时,就不需要去关心要使用的的横向数据源了。可以达到所有的数据字典信息的动态绑定。

     此种应用的好处时,还是上面的物料信息添加,因为面向不同的客户,可能某一个客户除了要有物料分类之外,还要有一个产地分类或其他的分类,如果我们的数据字典中没有相关的字段,势必要在数据库中构建,当面向的客户更多时,那数据库表可能就有更多的个性化处理,不变性和代码的统一性,被完全破坏掉了。

     引入动态数据绑定之后,因为在编码阶段与具体的属性无关性,我们就可以在物料表中加入很多的冗余扩展属性字段,字段在编码阶段无严格意义,但是当在运行时,通过进行动态绑定和配置,使其具有了配置意义,再通过动态配置的横向数据,进行关联拉取,我们就可以单独构建一个分类表了。

      因为主业务体表的一致性得到了保护,软件就可以在通用产品的道路上发展,而不是出现针对项目的代码维护,实际使用中,为了达到标准可扩展性,还需要对动态配置的属性进行业务系统全局跟踪,即与该属性应用相关的所有业务表,都需要动态配置,让系统知道这是一个有特定意义的属性,就如硬编码的一样。

0 0
原创粉丝点击