开发程序那么久了,真正使用代码生成器是近3年的事情,由衷的感觉到这东西真的是提高生产力!
最早的时候开发,还是用asp,那时候就是傻傻的弄好一个页面(代码和页面是混合的),复制成另一个文件,然后用DreamWeaver替换关键词(表名、描述啥的)。后来知道了动软代码生成器,那时候主要还是用asp,也捣鼓了一下生成asp代码,不过发现.net的强大后,就开始学习简单三层写东西了。说实话,动软的那个直接生成项目的功能的确没啥实际作用,最实用的就是生成三层的dal,bll,model,页面部分还得自己定制。
再后来就是学习吉日嘎拉的.Net开发平台,开始用他的代码生成器,买了源码之后用在公司OA项目上之后,就开始定制自己的代码生成器,基本上来一个需求,三下五除二就搞定了核心。
接着研究DTcms,索性写了基于动软的DTcms代码生成模板,后来淘宝上还卖出了好几份!让我看到了想偷懒、想追求效率的程序员挺多。
其实吧,VS就是一个生成器,用MVC模式或者EF的时候,很多代码都能自动生成,异常强大,但是很多时候,我们写代码还是要结合业务,还得服务客户,就得有界面!所以功能部分是后台的话,界面的部分就需要精心打造,但是界面部门的代码生成是否可行呢?我觉得肯定可行啦!
目前我正在基于吉日嘎拉的代码生成器源码,写一个自己的代码生成器,不仅生成后台代码,前台的页面,漂亮的界面,相应的ashx、webapi也一起生成了。核心的功能如下:
1、根据数据库结构生成代码,支持MSSQL,MySQL,Oracle
2、自动生成实体类
3、自动生成增删改查业务类(没有DAL了,直接用吉日嘎拉的DotNet.Business)
4、自动生成列表、查看、增加、编辑页面
5、界面基于BootStrap(暂定ZUI)
6、自动生成ashx文件,并自动生成权限控制代码
7、自动生成权限配置的SQL,便于后台管理权限
8、整站基于jQuery+Ajax(layer定制)
高效自动代码生成的一瞬间很美好,但要写出背后的模板(规范、可用的),可能需要几天或几十天的不停打磨,完善。感兴趣的朋友,加我微信或QQ交流。