代码生成设计文档(二)

技术选型

         字符串拼接

         最为基本的方式就是使用字符串拼接的方式。我们通过控制台或配置文件的方式收集领域模型的元数据,让后使用定制代码模式进行字符串拼接,最终生成代码。这种方式的缺点是显而易见的。但最致命的缺点是代码生成逻辑和代码模式搅合在一起。当模式改变时几乎无法重用。

         自定义标志进行查找替换

         为了使代码模式能够和生成逻辑分离开来。可以定义一套代码模式文件。从中插入特殊的标记如@EntityName然后使用将这些特殊标记使用领域模型元数据进行替换,生成代码。

这种方式能有效的将代码模式和生成逻辑区分开来。但仔细考虑它任有很多问题。最要缺点是如果代码模式中涉及到分支和循环结构就比较难以处理,甚至又要回到字符串拼接的方式。而且这种自定义标志需要编写模式的人员学习,成本较高。

         使用Velocity,freemarker框架

         这些框架提供了完备的标记库,非常适合基于模板的代码生成,可以方便的处理分支和循环结构,是较为理想的框架。现在基本上可以实现灵活的模式定义了。但对领域模型元数据的录入则无能为力。

         借助与Eclipse IDE平台开发Plugins进行代码生成

         Eclipse IDE Java开发人员必备的工具,提供了一个具有丰富特性的开发环境,更重要的是它允许开发任由有效的建造可以无缝集成到Eclipse平台的工具。开源的代码强大的API内建的扩展特性,为我们高质量的完成代码生成提供了良好的支持。

综上所述

         代码生成工具主要采用的技术是:

         Eclipse Gef 提供人机交互界面,解决元数据录入问题。

         Eclipse JET解决代码模式定义及生成问题。

         Eclipse JDT 解决代码编译、代码跟踪问题。

         Eclipse Equinox 解决代码生成工具的可扩展问题。

现实意义

         提高生产效率

         指导作用

         规范代码编写

         减少错误发生

主要功能点

1、  提供图形化界面录入领域模型元数据。能直观的展现主要元数据及领域模型之间的联系。

2、  提供从第三方软件导入领域模型元数据的功能。目前实现从PowerDesignerER数据导入的功能。

3、  提供协同编辑功能,即多人集体编辑同一个问题域中的领域模型。

4、  提供JET模板定义的人机交互接口,可方便的定制或修改代码模式。

5、  提供可脱离Eclipse环境运行的RCP查看器,查看领域模型元数据。

6、  生成的代码提供预览功能;出现生成代码与项目中已存在代码有冲突时显示冲突并解决冲突的人机交互界面;提供将已生成的代码卸载的功能。

7、  支持目前主流数据库中DDL自动生成功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值