• Evolutility改造支持oracle


          注:在live writer里放了老旧,一直觉得写得不够透彻且实际效用不大就没发。

          Evolutility 是一个支持数据表的在线创建、相关数据的增删改及列表显示的自动生成的框架(codeproject的有两篇介绍的文章一,文章二),ror等框架是使用命令从后台生成控制类及显示代码,用户通过修改代码进行业务及显示的配置,而Evolutility可以实现从前台对对象的创建及显示进行配置,这样的做的优点是非开发人员可以快速的配置一个简单的MIS类的应用,而对于复杂的逻辑处理起来就有些不够用了,初期考察了asp.net 的dynamicdata框架,subsonic的scoffold框架以及dangjo的admin后台。dynamic的配置型较高但是无法完成数据表的在线创建切只支持sqlserver,subsonic的scoffold的框架配置简单但是功能比较少。

         Evolutility通过Xml描述文件进行数据的显示及其他操作的配置,页面引用UIServer这个控件后指向特定的配置文件就可以进行数据的增删改查、显示及导出了。此外通过一个配置向导可以讲现有的数据库表导出为xml配置文件或者在线直接创建数据表。在Evolutility有一个单独的模块EvoDisco进行数据表的在线配置及导出等,数据库中有三张表进行表、字段、布局的描述。在使用向导进行数据表的配置或者生成时,向导将配置属性保存到相应的表中。现在的改造到吗只支持在线生成表还没有实现从现有表生成配置文件。改造是年前完成后来因为需求变化也没有实际使用。下面主要说一下改造过程中遇到的问题。

       图像 1

        Evolutility的最新版是3.5目前支持sqlserver及mysql,下载代码后发现源代码的组织并不清晰,有几个数据访问的常用类被多个项目通过代码引用的方式引用而不是类库引用的方式,将数据访问相关的代码及元数据描述的代码提取出来形成一个类库Evolutility.Common,Wizard负责通过前台配置数据库或者根据现有数据空生成配置。UIServer是主要的用户控件用于根据配置文件生成前台显示积极动态生成相应的增删改查语句。

    存在的问题:

    (1)代码内部存在很多的魔幻数字,通过这些数字控制代码的执行方向。

    (2)对不同数据库的支持是通过宏进行控制的而不是配置文件或继承类

    源代码下载:代码

  • 相关阅读:
    动态发布接口
    高频访问IP弹验证码架构图 让被误伤的用户能及时自行解封的策略
    C/C++ Lua通信
    Mercurial
    goroutine chan 通道
    HotSpot VM
    # 释放内存 filter_res_q_l = filter_res_q_l[-2048:] filter_res_a_l = filter_res_a_l[-2048:]
    mongo 统计数据磁盘消耗
    不基于语义的基于字符串交集的字符串相似度比较
    拥塞控制 流量控制
  • 原文地址:https://www.cnblogs.com/sdhjl2000/p/2085544.html
Copyright © 2020-2023  润新知