代码生成器开发笔记(1)-开篇

来源:互联网 发布:"自己"网络谐音 编辑:程序博客网 时间:2024/04/18 16:54

代码生成器开发笔记(1)-开篇

程序 2009-06-13 01:27:47 阅读35 评论0   字号: 订阅

  前段时间一直在研究ADO实体框架,准备用来做个项目,但是发现这东西实在不成熟,用它做项目会搞死人。于是又重新捡起Linq To SQL,发现仍然不能实现一个模型层,要想支持多种数据库,必须建多个模型层,无法实现无缝切换,不得已,再次返回最初的实体类。

  用实体类的话,自然想起CodeSmith了,编写了几个模板,用来生成数据层、模型层以及简单业务层,生成的代码错误很多,一部分是模板脚本错误,这个好办。另一个是对CodeSmith没有深入研究,有些东西不知道如何实现,没兴趣去研究那些英文文档。

  网上又找了个号称国内人气最高的动软代码生成器,动软的思路和构想不错,不过生成的代码风格我不喜欢,而且这个软件的BUG也实在太多了,部分功能也是个空架子,还是不合我意。

  无奈何,求人不如求已,想想写个代码生成器也没多难,不如自己写吧。

  这次不能犯以前毛病了,N多代码写完就忘,用的时候又想不起来,还得翻旧代码,有时候光找原来的代码都白白花去一个晚上,所以边写边记,以做备忘。

  目前的构想是:数据库支持SQL Server、Oracle、MySql、Access,能够自动生成数据层、模型层、简单业务层以及数据库中的存储过程等三层结构的常用代码,支持抽象工厂模式。对实体类,能够自动识别表之间的关系,并在生成时将表关系映射到实体类。支持C#、VB.Net,能够生成代码文件或直接生成项目和解决方案。还有一个设想,能够生成常见界面,如WinForm的窗体、ASP.NET的网页,至少要能生成常见网页布局的母版页。不过这部分可以等到最后再说。

原创粉丝点击