讨论有可能挑战Java开发优势的四种技术 (3)

http://www.sina.com.cn 2008年01月31日 08:26  赛迪网

  3.惯例超越配置

  Java开发者经常探索用于改进配置的方法。新的框架越来越多的使用Java 5批注来进行配置。其他的框架是用一种不同的方法。Rails中的Ruby常用惯例来推断需要在其他框架进行配置的联系。例如:在结束的时候,一个叫BlogController且有一个show方法的Rails控制器,会自动在blog_controller目录里提交一个叫show.rhtml的视图。Rails还使用命名惯例来绑定数据库表里持久化的类。默认情况下,Perosn类会与用英语的复数people与表进行匹配。

  新的框架将会支持惯例,而不是配置。

  4.元编程

  就像前面提到的一样,在Rails编程框架上的Ruby里,存在着许多hype的。我认为这种hype是正确的。在Rails上的Ruby让你比起java,可以在一个更抽象的层次上编写你的程序。有了Rails上的Ruby,你可以创建域对象,这种对象可以发现相关联的数据库表的内容。例如:你可以写这样简单的模型对象:

  class Person < ActiveRecord::Baseend

  这种类表面看起来相当的受限制。但是一旦你执行它,Rails就会展现它的神奇。这种实现了持久化Rails的活动纪录框架与相关的数据库关联,以及为了表定义扫描系统表,还发现数据库里列项。然后,活动记录为数据库中的每一列增加一个属性,为数据库中id列名在类中增加一个独一无二的标示符。你可以用下面的类去编写代码:

  person=Person.newperson.name='Bruce Tate'person.email='bruce.tate@j2life.nospam.com'person.save

  数据库的列名和行为都会在运行时后加入Person类。你可以很容易的扩展Person类:

  class Person < ActiveRecord::Base has_many :carsend

  通过Ruby中一个belongs_to的简单方法和:department标示符,我实现了所有我想做的。活动记录隐式调用了Ruby的元编程来添加了所有的方法和变量,这些方法和变量用来管理一个任何一个部门之间的一对多关系。Rails用户使用域语言来管理像继承这样的关系,另外可以用Ruby语言在一个更抽象的层次上工作。Rails无缝扩展了Ruby语言。

  Rails会不会是下一代伟大的框架?有可能。要做一个选择的话,Rails应该会是在使用Ruby或是其他动态编程语言的元编程框架潮流中的第一个。或者,你可能看到Rails会作为某些松散对齐技术的中枢,它是以元编程作为基础的。在任何情况下,你都会更有效率。

  总结

  在《超越Java》这本书中,我表达了Java还不会淘汰意思,但是在最近的十年,我们目睹了在Java领域之外引人注目的创新。这四种技术会在不远的将来起到重要的作用。请密切关注他们。

  (责任编辑:包春林)

上一页 1 2 3 下一页
本文导航:
·动态语言
·Continuation服务
·惯例超越配置和元编程

发表评论 _COUNT_条
Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash