日积月累
曾经迷恋于Delphi的优雅,但Borland已经离我很遥远了。
如日中天的Java,怎么混杂着数不清的括号、纠缠不清的Checked Exception和叫人不胜其烦的XML配置文件。
开发语言的新贵Ruby和Rails,会是Web快速开发领域的王冠吗?
稍嫌笨拙的ABAP,又是如何支撑起SAP这个巨型的企业应用系统?
-
原文地址: Ruby On Rails 与Jdon Framework架构比较
从这篇大文里面,我确实看到了不少高见啊,甚至是我前所未闻的说法,我是真的长见识了。
1. Ruby语言是类似Python, Smalltalk, PHP和Perl的动态类型语言
2. 其实,XML也是一种脚本,从某种意义上来说:XML比语言脚本更简单易写(至少语法不多)
3. ActionController,初看相当于struts的DispatchAction,但是因为其包含业务逻辑...
4. Active Record其实类似JF中Domain Object + Dao,也就是将Dao中对数据库的CRUD方法和Domain Object整合在一起
其他细节问题和结尾的豪言壮语,大家有机会自己深刻体会吧!
我想,如果作者对Ruby和Rails多做一些了解的话,就不至于写出这样的对比了。 -
Ruby中实现类似AOP的功能
2007-08-15
昨天看Spring in action这本书的时候,想到如果要实现AOP的功能,在Ruby中如何处理呢?
Google了一下,Javaeye中已经有几个人考虑了这个问题,几个比较关键的方法是:
alias_method:用来记录被覆盖的方法
define_method:重新定义一个方法,一般会调用alias_method保存的方法
class_eval: 根据传入字符串的值,给类增加一个方法。
下面是摘抄过来的一个例子,和Java实现类似的功能相比较,实在是简单太多了。
def run_before(m)
alias_method "__before__#{m}", m
define_method(m) {|*arg| yield(*arg); send("__before__#{m}", *arg);}
end
class Test
def run
puts "hello, my run"
enddef self.log
puts "before run"
end
endclass Test
run_before("run") {log}
endtest = Test.new
test.run
共1页 1


