对ORM的疑问
这几天看到博客园中关于ORM的讨论特别激烈,我也说说自己的意见。
一直认为有了ORM,有了代码自动生成,是程序员的福音。从此我们不用(或者说基本不用)编写难以维护的SQL语句,不用写Connection,Command,DataAdapter。做完数据库设计,利用代码自动生成工具,生成实体类、实体访问类(增、删、改、查)、表示层原始界面,我们的工作重心完全放在了复杂的业务逻辑实现上面。我觉得这种方法对企业应用开发是很适用的。
ORM的很多优点,前面的讨论中很多高手都谈到了,这里我说说另外一个小方面:代码维护。不同程序员的水平、编码风格是有很大差距的,编写数据库的操作代码也有很大水平差异。如果这个系统完全由你自己实现和维护,这没有多大问题。但是假如你需要去修改别人的代码,你就会觉得不是那么清晰了,特别是以前项目中有菜鸟编写的代码。利用ORM,至少风格是一致的。
在“冬冬”的一篇文章中(http://yuandong.cnblogs.com/archive/2006/06/07/419388.html)说到:“先作数据库,再用代码生成,再改改,再加上GUI”是一种“本末倒置”。我对这句话不是很理解,希望大家帮忙解释一下啊。
对了,见识浅显,欢迎大家批评!