由于论文的需要,我又捡回了被我抛弃了一年的ROR(Ruby On Rails),在离开她的这些日子里时常怀念她的简捷与优雅。。。如今她以发展到了2.0+的版本,细细品味还是有很大变化:
那个一直挂在David嘴边的脚手架“消失”了,其实并不是正真的消失,只是她换成了另一种存在的方式。
def class PersonController < ApplicationController
scaffold :person
end
现在写法:
$dir ruby script/generate scaffold {fields}
其实这里透漏着Rails在scafflod思想上的一个转变,那就是生成代码由运行时到编辑时的转变。好处是快速生成一个可编辑的源码模板,更具灵活性,使得scaffold在实际应用中真正能体现出其存在的价值;但缺点也是很明显,那就是开发人员往往使用scafflod的时候,可能对应用还没有一个十分确定的想法,这样生成代码的维护成本会相当高,特别是在对象持久化方面。想起Martin fowler的一句话:使用生成的代码每一次对映射的任何改变都会重新编译和部署软件的相关部分。。。