打個比方.
如今的j2ee開發,就好象對面來了一我的.
最外面穿着一件風衣(HTML)
風衣裏面穿着西裝(Struts)
西裝裏面穿着馬甲(Spring)
馬甲裏面穿着襯衫(Hibernate)
襯衫的裏面纔是真實的人(數據庫)
所有衣服都是採用棉布作成的(Java)
每件衣服上均可能有其餘配件(第3方庫)
各件衣服之間須要配套使用(版本兼容)
若是你想看到這我的到底長啥樣,必須得:先脫一件,再脫一件,再脫一件.最後才能看到最終數據庫裏面的數據是啥樣子.
在好久好久之前,這我的是不穿衣服的.
你直接能夠看到他(SQL語句)
如今不行了,你必須穿越層層衣服來看這我的.
每件衣服都是不一樣的廠家作出來的.並且隨時在改變.
你必須本身把這些衣服一件一件套上去,祈禱他們大概可以合身.
每件衣服均可能有漏洞(bug),你得本身想辦法打個補丁(patch)上去.
這個比喻真不錯.
還有一點能夠聯想一下.
真實的人(數據庫) 也是有不一樣的, 有小個子(小應用),有大個子(大應用),有胖(相對複雜,有些可能要定製),有瘦(相對簡單),有男(偏應用),也有女(偏外表)。
針對不一樣的人就得有不一樣的衣服來包裝。
甚至於還還要考慮到季節的因素,
好比天熱時,只穿幾件短衣,短褲也許就夠了,穿多了反而要熱死了。
而天冷時,就得穿得厚重些,穿少了就得冷死了。
總而言之,穿的合適,舒服纔是正道。