继续短期独立开发B/S项目的压力下。
许多的数据库表,传统三层架构,面向我定义的那种SOA设计模式。我的任务似乎无法完成。在重复书写存储过程,重复书写格式类似的DAO层代码的郁闷中我门生了一个想法,重复的东西为什么不能提炼出来,让代码自动生成。
让我们从不断重复的基础代码中解脱出来,有更多的时间考虑性能,架构,抽象,统一与安全等因素。
让我们专心于基本数据结构(数据库)的设计,把时间和精力用在分析业务数据上,让我们在有限的时间里创造更多的价值。
一个小疏忽在一个点上造成的bug容易查找马?容易fix马?
一类同样的疏忽在每个服务上同样的bug容易查找马?容易一起fix马?
如果有工具可以为您生成这一切~~
1.根据数据库结构自动生成基本的存储过程
2.根据数据库结构自动生成基本的DAO层代码,调用自动生成的存储过程完成数据库操作
3.根据数据库结构自动生成与business基本无关但是对DAO更高层次的封装,可以包括
自动数据cache以及相关数据update后自动更新cache的数据。
4.分析某一种模式(spring)的SOP开发结构自动生成含有Business逻辑的Service代码
5.分析某一套完整的由专业软件开发人员开发出来的service,让程序分析其中的规律(参照数据结构)从而按照分析出的规律自动生成与数据结构相关的其他数据库。
6.Window Form 前台的自动生成(依据为Service接口)
7.Web Service 的自动生成(依据为Service接口,可以加Attribute属性来控制有选择的公开web Service 方法)
8.Web Form 前台的自动生成(依据为Service接口)
于是我开始着手写一个简陋的代码生成器。目前可以做到自动生成所有Table的增删查改的存储过程,以及自动生成C#的DAO层代码以及根据Table映射出的MetaData对象。在我将这些介绍给朋友的时候我知道了Code Smith 和 my generate 这样优秀的代码自动生成工具。他们唯一的问题就是需要写自己的xml脚本,这是自由,也是麻烦。为什么不能设立一个标准,这个标准符合某个领域内大多数的质量与需求,不需要设计者再去过多考虑代码低层实现的细节。
这两天SOA的盛会正在北京举行,很感兴趣却无法参加。SOA是个持续性的大方向,这也许是一个标准,一个符合某个领域内大多数质量与需求的标准。
所以我想写一个快速底层生成的工具去迎合SOA架构。这两天个大数据库厂商也都纷纷提出了支持SOA的数据库不是吗!
之前写过从细节分析看待SOA,的确着眼点太细了,需要好好研究一下SOA,然后再考虑SOA的代码自动生成。
做为一个业务部门的BIP,做为软件工程硕士的在读生主攻项目管理,作为尝到代码自动生成好处并且着迷于此的写了4年程序却没有亮点“老”程序员,是到了选择方向的时候了。