代码生成工具设计(草案)

编写代码生成工具的缘由

本人在应用开发部已经待了快1年了,对于大量重复代码编写早已经厌倦,总是做些无营养的工作,而且新来的同事风格各异,看着他们的代码就头痛。。。  无奈,为了别人,也是为了自己。

 

代码生成工具设计(自己已经完成了代码生成工具,并应用到自己的开发项目中。但因为和代码基线高耦合,没办法分离出来,在此只能暂时给些思路,稍后我会把主要类都一一献上,现在还在思考怎样才能写个可扩展极高的框架)

 

代码框架设计:

最好的方式就是可以让代码开发人员可以自己写 简易配置文件,模板,生成实现类。

框架提供配置式替换功能和配置文件解析功能。

通过读取模板,替换特定的标识符,达到快速开发的目的。

设计原则:

      占有内存少:动态管理内存,缓存对象有自己的生命周期

      产生文件效率高:一个文件一个线程,由线程池管理线程

优点:开发快。

缺点:不容易维护,不通用,重新生成会替换掉辛苦写的业务代码,如果想可重用度高些,对开发人员的素质要求较高。

 

生成类设计

    说明:生成类对象可以是数据库中的 表   视图 存储过程,或已经写好的  pojo对象

    当前表可以有多个   mayToOne

    当前表可以有多个   oneToMany

    当前表可以有多个   oneToOne

    列表页面集合

    编辑页面集合

生成后台文件

    待修改文件集合

    待创建文件集合

    是否生成数据库

    是否生成sql语句

生成页面用

     页面布局对象

     样式对象集合

     按钮对象集合

动态全局配置参数

    生成路径

    生成文件选择(页面或后台文件):为已经添加业务代码的模块提供后悔药

    修改文件选择(默认读取扩展的xml中所有修改文件)

    是否生成sql文件

    是否在当前数据库生成表,视图,存储过程

说明:

一个类可以生成多个列表页面和编辑页面,每个页面可以有不同的布局,字段可单独排序,列表有查询功能。

可单独生成某个类文件(之前在做代码生成器的时候,有时候会因为只想添加1个字段而需要重新生成,代码中已经写入业务代码,没办法。。。只能手动修改)

 

提供模板修改器

可动态修改模板文件,不用重启服务器,模板校验器会根据模板创建的日期判断是否加载

生成sql数据库创建语句文件

保存文件生成日志

生成文件出错后有详细的  log日志

提供预览功能

页面虚拟运行功能,模块虚拟运行功能

可解除模块的配置文件:注掉不用的模块

 

困难:如果再次生成  如何不替换掉业务代码进行更新操作。。。。。。

 

以下只有源码,需要自己配置SSH1环境,需要ExtJs,jquery

 

1.加载所有主配置文件  dom解析

   初始化全局变量:

(1)上下文

(2)缓存Manage    永久缓存:主配置文件所有信息,临时缓存:用户配置文件信息

(3)线程池Manage(生成文件时,一个文件一个线程)

2.加载所有用户xml,验证路径和模板文件  sax解析

 

主配置文件信息将加载到缓存当前

 

标识符替换模板加载策略:

     生成文件时加载标识符替换模板文件,如果已经加载则不再重新加载,由缓存Manage管理生命周期

文件生成策略:

      读取模板,替换特定的标识符。

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值