OrFlying 发展历程
原来一直从事企业管理软件的开发,经常苦恼于信息系统的开发困难。后来,公司产品要往面向对象方面转,希望能够通过新技术的应用,提高开发效率。不经意地发现了微软站点的一篇文章: 《Engine-Collection-Class,一种用来建立可重用企业组件的设计模式》。刚好,公司主要采用VB语言。经过仔细研读,不禁喜出望外。
经过短时间的验证、修改和使用,最终确定了公司采用这种模式作为对象层的开发模式。确定了所有和数据库交互的业务对象全部采用这种模式封装,并且统一调用。由此,也走上了长达六年的摸索之路。
实际编写中发现,大量的类的创建过程都是在根据一个模板拷贝粘贴。于是开发一个类生成工具的想法自然而然的就出现了。开始的方法是通过Rose的VB代码生成模板创建,建立VB代码模板,然后通过Rose建立模型,通过Sterotype关联到我们的模板类,然后自动产生代码。效果不错,不过Rose仅仅生成代码框架,仍然需要大量手工操作。于是决定写一个独立的代码工具,来自动产生所有的代码。经过不断的模式和改进,一个简单实用的工具问世了。命名为:OrFlying !
随着时间的进步,VB逐步淡出主力开发语言的阵营。我也转向了.net/j2ee的方向,使用vb.net ado.net重新定义ECC模式和编写ECC代码生成器的想法,一直在我心头。终于在2003年第一次写下了第一行代码,到目前为止,该方法已经经过我长时间的使用,基本稳定。
不敢说能够解决所有OR中的问题,但是能解决大量代码工作量我已经很知足了
期间,研究过hibernate JDO 等,仍然继续了OrFlying的工作,我想它的存在总是有其价值所在。我主要看重两点:
1 全部代码是生成的,和数据库的访问全部由具体的代码,而没有后台通用的组件和层次,当然也注定了其应用面的狭窄;
2 这样产生的对象层,通过 . 可以一级一级的不断出现提示,这个特点是我非常喜欢的,也就是所谓的对象形式化吧。不知道理解对不对
OrFlying 有vb和vb.net两个版本,将分别介绍。