自动代码工具设计思路
系统名称:MaxCoder Studio
运行环境:基于WEB
支持的数据库类型:SQL Server、SQLExpress、
支持的语言类型:C#、VB
支持的系统框架:简单三层结构、工厂模式
命名规范:
输入:系统名称、数据字典表名集、命名空间
输出:
1) 创建系统:包括系统名称、数据库连接等定义,保存到数据库。目前EGT已经实现。
2) 数据字典表:每张表定义时候均有自动增长字段ID,字典表定义除了包括基本定义之外,还包括字段的显示名称、显示顺序、对应的参数代码、是否显示、是否允许查询等控制。其中参数表、系统表、界面表、用户表、角色表等也是动态预生成的,不可以修改其结构。目前EGT已经实现。
3) 数据表:根据字典表生成数据表,目前EGT已经实现。
4) 存储过程:根据字典表定义自动生成相关的存储过程,包括数据的增加/删除/修改/查询(支持组合查询/简单查询)/获取最大ID,如果数据库不支持存储过程则跳过。
5) 视图:支持视图创建,具体可以考虑生成一个查询分析器(支持表、存储过程、视图、函数等的创建)。
6) 生成业务逻辑层代码文件:结合数据库的元数据动态生成业务逻辑层基础代码,封装成类库。例如生成Update方法。如果数据库不支持存储过程则改为直接用SQL语句完成。
7) 生成界面层代码文件:生成用户界面,可以设置界面一些参数,具体可以参考EGT实现,动态生成master文件、WebPart控件、MultiView控件,界面布局采用GridView+FormView结构,数据源采用ObjectDataSource。界面上提供数据的编辑、查询功能、导出、报表、统计等功能。一些操作可以支持无刷新界面回调,可以考虑采用Atlas框架建立站点的系统框架。可以选择界面风格和框架结构,具体可以参考EGT设计。后期可以考虑支持skin、website.Map等。
8) 生成系统的主界面,目前EGT已经实现。
9) 编译代码:动态编译代码文件到命名空间的DLL,如果是选择预编译方式可以跳过该步骤。
10) 发布系统:发布指定文件夹到指定目录
11) 用户/角色设置,管理员角色可以基于系统动态管理界面允许的操作类型。
与目前EGT的比较:
1) 支持存储过程自动生成
2) 支持三层结构
3) 界面更加规范
4) 支持动态(预)编译
5) 支持多语言
6) 体现了框架体系的思想
7) 角色管理
浙公网安备 33010602011771号