模块治理常规功能自定义系统的设计与实现(20-第一阶段回顾)

模块管理常规功能自定义系统的设计与实现(20--第一阶段回顾)

第一阶段回顾

        经过前19节内容的搭建,对于单一一个模块的各种操作功能已经建立完成。现在的设计已经是我能够想到并能名实现的所有内容,以后会根据用户的需求和新的想法进行扩充,有些已经有想法了还没有实现。

        现简要回顾一下此系统的主要思想和设计过程:
        系统的主要思想就是能够对数据库中的表自动进行解释展示和的操作。与数据库的联接我现在使用的是hibernate,如果能跳过这个环节,直接使用jdbc来操纵,此系统甚至可以做到你拿一个数据库过来,上述的设计都自动可以完成。当然这只是个理想状态,要真正达到是非常困难的。

        系统的设计过程:
        1、建立数据表;
        2、建立hibernate bean,并使用自己创建的标注类来进行标注表和字段;
        3、导入该模块,将模块信息和各字段的信息都加到配置表中;
        4、导入模块时,已自动生成缺省的grid和form的方案;
        5、设置角色对此模块的权限;
        6、将此模块加入到菜单;
        至此一个模块被加入到系统里。然后介绍了数据新增导入、导出打印、导航、图表、附件的设计,这些全都是在前台设计后,保存到数据库的配置表中,然后再由前后台的程序去解释执行。  

        系统的前台采用了extjs4 mvc的框架来进行开发,extjs4具有的良好的OOP特性,其mvc的功能也很强大,能满足设计过程中复杂的事件处理机制。前台可以用其他的框架来搭建,比如 jquery等。我的前几个版本分别用的是extjs3,smartGwt,到最后改成了extjs4。系统的后台处理我现在选用的是spring mvc + hibernate ,也可以改成其他的框架比如C#等。不管什么框架,数据库中保存配置的那部分都是相同的。

        基本每个系统都具有部分或全部以上功能,有些要素也是可以自定义来解释执行,比如表单、列表等,但是完全能在前台自定义的设计的系统我还没有看见过。可能也有,我自己没看见,或者被做为公司机密不能外传吧。

        我对这套系统的设计从最初版本起到现在也有近10年时间,在不断的升级和改进中,这个应该会是最终的版本了。有人问过我写这个系列博客的原因,一来我也想对整个开发流程作一个回顾,以前我都是在心里设计好了就直接开发,很少有设计文档,最多也就画画流程图,或是在程序里注释一下;二来也想对此系统作一个推广,看看有没有合作伙伴或者在市场上有何前景。也有人建议做成开源的项目,我正考虑之中。有任何建议或想法的可以跟贴回复,或可以联系我:jfok1972@qq.com。

        我在写此博客时将此整个系统分为4个了阶段。
第一阶段为以上的20篇文章,介绍了一个模块的设计与操作。这个阶段的设计内容多,难度不大,编程量很多,难度系数定为5;
        第二阶段为模块与模块之间的关系,难度大,编程量中等,难度系数为10;
        第三阶段为权限设计,难度大,编程量少,难度系数为10;
        第四阶段为综合查询,难度巨大,编程量中等,难度系数为20。

从下节开始介绍第二阶段的开发。