我曾經和尊重過的人曾經向我表示,應用程序代碼中不應該有任何需要使用反射的情況,而且應該只在框架中使用。他是從J2EE背景來講的,我在該平臺的專業經驗通常會證明這一點;儘管我已經使用Java編寫了一次或兩次反射式應用程序代碼。反思:僅針對框架?
我對Ruby on Rails的體驗完全不同,因爲Ruby幾乎鼓勵您編寫動態代碼。如果沒有反射和元編程,許多Rails給你的東西都是不可能的,許多相同的技術對你的應用程序代碼同樣適用和有用。
- 您是否同意反思僅適用於框架的觀點?我很想聽聽你的意見和經驗。
這將是格林斯潘的第10條規則「任何足夠複雜的C或Fortran程序包含一個臨時的,非正式指定的,錯誤纏身,緩慢實現一半的Common Lisp」 – JMM 2009-05-01 02:52:20