Ruby on Rails 之旅

来源:互联网 发布:ubuntu以管理员登录 编辑:程序博客网 时间:2024/04/29 01:00

       带上《Programming Ruby - 2nd》和 《Agile Web Development with Rails 》这两本书,开始我的Ruby on Rails 之旅。

      Ruby on Rails 和AJAX在05年时可以说是大红大紫,在Web开发领域中可以说是无人不知。最近,曾出不穷的图书就可见一斑。AJAX好像比较容易普及,学习的人比ruby相对要多一些,书籍也出了不少。于此相比,Ruby要冷一点,国内关于Ruby的图书还是凤毛麟角,直到最近才有电子工业出版上面的两本中文译本。衬着大好机会

    先简要的说一下,什么是Ruby和Rails。Ruby是一门面向对象脚本语言,而Rails则是一个Web框架。

    今天用了半天时间大略的翻了一下书,虽然时间不长,有一点却给了我很大的震撼(惯例重于配置)。什么意思呢?就是把以前很多的配置文件通通都丢掉。

     我以前做网站主要用的是JSP和ASP.NET。用JSP时,发现了很多优秀的框架可以减轻我们的体力劳动。例如struts是个优秀的Web框架,将你的应用程序配置MVC架构的方式,降低了耦合,视图和逻辑代码分离,程序结构清晰,易于修改调试。Hibernate一个优秀ORM,将面向对象编程和关系型数据库有机结合起来。Spring一个Ioc和Aop的容器。这些都是比较流行的工具,它们使Web开发部署维护更加容易。

      这些框架给我们带来方便的同时,也带来了不便。它们都无一例外的需要大量的配置文件。这样一来,我们的花费的时间又转移到了写配置文件上,复杂的格式和代码一样让人头疼。因此,人们又想出了新的办法。这时出现很多IDE插件,可以帮助人们生成这些代码。还有一些代码生成器,像MyGeneration等等。效率是提高了,但还是有问题。数据库配置或者应用程序配置不是一成不变的,经常随着需求、业务逻辑发生改变,程序员要不断的维护这些。一旦没有及时修改,就会出现问题。难道我们就没有别的办法吗?

Ruby给了我们新的解决方案。Ruby的原则是惯例重于配置。配置既然这么麻烦,我们为什么要去写配置?我们可以省去这一步嘛。

我们可以采用一些约定的方法减少一些配置。举个例子,ruby默认一个表的主键字段名称是id,这样就可以避免像Hibernate那样采用hbm.xml文件告诉程序,哪个字段是主键。多方便啊!省了不少麻烦。可能又有人会说这样岂不是太死板了,不是的,你仍旧可以配置(你不嫌麻烦的话,可能还会有出错的风险),将主键名称改为表名+id,或者其它你觉得合适的名称。

再如Struts中的Action执行完后要指向一个jsp页面,对于这些Struts采用struts-config.xml配置指定,mapping.findForward("XXXX")。rails则是采用同一命名的方法,你不需要配置,action和rhtml同一名字,rails就会自动判断将action和那个页面关联。

这样也许会增加记忆的负担,可是这将少了配置文件,这个非常容易出错的一步。这点付出算不了什么,和况,写一个配置的时间,我已经掌握了惯例,以后可以一劳永逸了。一个字,值!

让我们跟配置文件说再见吧!