【发布时间】:2011-08-03 16:02:48
【问题描述】:
Rails 约定强制框架和 gem 编写者广泛使用反射/元编程。我一直认为元编程效率较低,并且随着使用越来越多的 gem 的趋势,问题是 - 性能影响是什么?
【问题讨论】:
-
我认为这与 Rails 约定无关。使用元编程可以更轻松地解决(以及以后维护)很多事情。
-
它与约定有关,因为大多数方法都是通过通配符处理的(看看 activerecord,actionpack 等等)。虽然对于以配置为规则的框架/语言,框架很少使用方法反射,例如 J2EE
-
Java 和 Ruby 如此不同,以至于在您接触 Web 框架之前,所有可能的比较都失败了。顺便说一句,“元编程”是一个如此广泛的术语(正如@shingara 已经提到的)。您是否主要想到了
method_missing? -
是的,我知道它们是不同的,Java 示例只是为了明确我所说的元编程需求的含义,这些需求源于 Rails 的约定优于配置理念。 method_missing 为一,内省如respond_to?、class等
标签: ruby-on-rails ruby reflection metaprogramming