一种代码生成器框架研究

发布时间:2021-05-22

在实际软件项目开发中,采用代码生成技术能大幅提高软件开发的质量和生产率,降低软件开发的风险,一个企业级项目中的代码生成器是非常有必要的。本框架是一款代码生成器框架,可以作为一个平台帮助开发者快速实现自己的代码生成器。框架提供一些元数据处理的基本服务,并且提供简单灵活的接口,供程序员定制自己的代码生 成器。 关键词: 代码生成器; 框架; 模板; 元数据 中图分类号: TP393 文献标识码: A 文章编号:1671-4644( 2015) 02-0026-04 1 研究现状 在使用代码生成器的项目中,一个适合的代码生成器确实可以帮我们做很多很多的事,对于它的投入是远远大于我们回报的。但是为什么使用率不高,总结一下大致有以下几点: ( 1) 很多代码生成器是很优秀,但是专用的,比如 Hibernate Reverse Engineering,从名字上你已经可以判断了,虽然还可以生成 spring 相关的代码,但是 还有其它的比如显示层的代码,包括页面等,并没有 提相应的功能。 ( 2) 很多的代码生成器倒是提供了一整套的解决方案。但是整个方案不可以变的,使用的技术,结构,代码的模式,风格,变量的名字都是从数据库中固定的转换过来,不能完全符合实际需求。正因为这样,很多人对代码生成器产生了误解,很多资深的程序员以为代码生成器都是傻瓜式的,而嗤之以鼻。使用的代码生成器的项目是根据自己不同的项目,编写不同的代码生成器,这无疑加大了成本和时间,所以很多项目不愿意尝试。但是在现在代码生成器能做到的范围内很多的模块是可以共享的,比如元数据的提取,变的只是代码风格,所以通用的代码生成器还是急需的。 2 系统功能说明 本框架是一个代码生成器的框架,主要的功能如图 1 所示。 图 1 代码生成器框架图 XML 元数据文件读取: 程序支持从规定格式的xml 文件里面读取元数据,用这些元数据做逻辑处理[1]。 数据库元数据读取: 从数据库中读取元数据,主要使用 jdbc 读取数据库中表、视图、字段的元数据信息。 Class 类元数据读取: 从 Class 类型里面读取元数据,主要是用 java 的 reflection。 元数据预处理: 多读取出来的元数据做预处理,主要是对那些公共的处理方式的封装。 自定义数据处理: 用户扩展相应的结构,定制自己的元数据处理逻辑。 生成源码文件: 用户想生成的代码文件,这里面要用户提供模板,程序值负责元数据处理和合成。 保存处理后的元数据到 xml 文件里面,便于之后使用。 第 15 卷第 2 期 许丽花: 一种代码生成器框架研究 3 系统设计及实现 从现在的技术,计算机技术还不能智能的产生代码。必须开发者的设计和干预才能呢生成代码,也就是代码生成器,实际也是一个操作文件的程序,只是操作的文件是可以用来执行的代码。所以程序的大体架构如图2 所示。 图 2 系统模块图 可以看出程序主要是三大模块,即: 元数据模块、模块模块、合成器模块。

返回列表 >>
400 070 7799
联系我们