欢迎转载 请注明来自 jljlpch.iteye.com
网盘下载地址:http://115.com/file/dp4iaw80#mgicodeV1.0(20120611).rar
两年前,我负责指导Java方向实训,在最后评审准备过程,.Net组负责人要求Java和.Net的归结一起统一评审,Java指导老师们的第一反应是Java和.Net开始怎么能相提并论?
为什么不能并论?是因为Java开发阳春白雪?在我们的潜意识中,Java开发就是让程序员(学生)一行一行地编写代码,编写HTML、CSS等,而.Net开发只要把控件拖到页面上即可,Java开发的效率一定比.Net低很多很多。
那么能不能提高Java的开发效率呢?作者经过分析并总结思考,发现业务系统有一定的共性所有操作,即增删改查,既然有共性,那么能不能抽象出来?
可以思考一下,通过继承、组件化等重用设计方式是可以抽象代码的共性,但是不同表(实体)增删改查的内容是不同的,通过泛型也很难抽象出来的。如对于A表的查询和对于B表的查询都需要使用到SQL语句,怎么去剥离出来?
此时,我们就需要采用另外一种方式,把它们抽象出来更高层级的模板,然后把不同数据传入该模板的占位符,这样就变成不同的代码,这种方式就是代码生成技术。
在软件的设计过程中,代码生成及重用设计仿若陌路人,互相排斥。重用设计中很多的共性是不能抽象出来的,而一味追求生成,造成大量的雷同代码,是重用设计人员或真正开发人员最不能容忍的事件。
如果把它们两个结合起来,那就是完全不同的效果,首先通过重用设计抽象其能抽象