作者:江南白衣
序
以Ruby為助力的Ruby on Rails 橫空出世,又刷新了一次人們對Framework的認識:Closures、Maxin、Continuations、Metaprogramming、Reflection,又一堆名詞砸得人悴不及防。
Java 雖然沒有動態語言般暴起,但仍然天連天,水接水的生出好多框架技術---反射(reflection),泛型(generics),元數據(annotation),proxies(proxy/cglib),代碼動態生成(asm),AOP(aspectJ),動態語言嵌入(groovy/javascript/beanshell)。面對著這些,我們像一夜暴富的農企,有點手足無措的樣子。
第一感覺,應該出現新的Design Pattern書籍了。
多年前基于純C++語法寫就的那本經典,很多模式都可以被更優雅的實現,還有更多的新模式,會隨著這些技術的推廣而出現。
第二感覺,新的框架模式出現了。
不斷升級自己的Spring,綜合運用了除泛型外的大部分技術,把編程界的想像力MFC/ EJB2.0 Container這樣傳統的template模式/鉤子函數的思路,向完全無侵入的標準過渡。
當你不顧性能狂用反射時,C++下的遺憾感開始越來越遠。
第三感覺,自己應該重新充電了。
從C++下編寫框架的經歷到盡用“反射,泛型,元數據,proxy,代碼動態生成,AOP,動態語言嵌入”是一條明顯的分界線,自己應該調度足夠的業余時間,沉實的學習一遍。
這個系列開始一個個介紹上述的積木。
系列文章:
系列文章:
Java下的框架編程(1)--序
Java下的框架編程(2)-對泛型的無聊用法和為擦拭法站臺
Java下的框架編程(3)--關于反射的碎話
Java下的框架編程(4)--Annotation vs XML vs Interface 最新一Round
Java下的框架編程(5)--cglib應用
Java下的框架編程(6)--asm(待寫)