1 反射:程序在运行的时候检查和修改其高级结构的能力”
2 元编程:编写那些能够编写和操作其他其他程序(或它们自己),将其他程序作为自己的数据的程序,或者编写那些完成其他程序在运行时所做的部分工作的程序。”
以下代码将实现反射:
01 obj = "some_string"
02 if obj.respond_to?('length'):
03 puts "obj length = #{obj.length}"
03 end
>> obj length = 5
这个代码将实现元编程:
01 class SomeClass
02 end
03 newMethod = %q{def msg() puts "A message!" end}
04 SomeClass.class_eval(newMethod)
05 aClass = SomeClass.new
06 aClass.msg
>> A message!
3 MVC
MVC 有三个部分:
模型,负责业务逻辑,包括应用程序状态和将在这个状态上执行的动作;
视图,用来渲染和向用户呈现模型(在 Web 应用程序中,视图一般渲染为 HTML);
控制器,定义应用程序的行为
4