在javaEE中的開源框架太多了,其實每一個框架大部分都是有一些經典的模式演變而來。對你們最熟悉了應該是Struts框架,咱們知道它是典型的MVC設計模式的化身。還有咱們最熟悉的,也是比較流行的框架Spring。它實際上是工廠模式和單例模式的充分應用。框架和模式到底有什麼關係呢?
框架是一組相互協做的類,它構成了某類特定軟件的可複用設計。框架規定了應用體系結構,它定義了總體結構,類,和對象的分割,各部的主要責任,類,對象怎麼協做,以及控制流程。框架預約義了這些設計參數。以便於應用設計者或實現者能集中精力於應用自己的細節,於是框架更增強調設計複用。
模式其實就是解決某一類問題的方法論。把解決問題的方法總結概括到理論高度,這就是模式。
框架和模式的主要區別:
<1>.模式比框架更抽象,框架可以用代碼表示,而模式只有其應用實例才能表示爲代碼。框架的威力在於它們可以使用程序設計語言寫出來,它們不只能被學習,也能被直接執行和複用。而模式在每次被複用時,都須要實現。
<2>.模式是比框架更小的體系結構,一個典型的框架包括了多個模式,而反之並不如此。
<3>.框架比模式更加特例化,框架老是針對一個特定的應用領域。而模式幾乎能被用於任何應用。