聲明:本文參考以下文章
[url]http://www.cnitblog.com/yemoo/archive/2007/10/12/34780.html[/url]
框架的產生背景
軟件系統發展到今天已經很複雜了,在某些方面使用別人成熟的框架,就相當於讓別人幫你完成一些基礎工作,你只需要集中精力完成系統的業務邏輯設計。
框架的定義
框架有一組互相合作的類組成,它們爲特定類型的軟件開發提供了一個可以重復使用的設計。
框架的本質
框架是一個應用程序的半成品,它提供了可在應用程序之間共享的可復用的公共結構。而且,框架一般是成熟的,不斷升級的軟件。
框架的核心
在很多情況下,框架通常以構件庫的形式出現,但構件庫只是框架的一個重要部分。框架的關鍵還在於框架內對象間的交互模式和控制流模式。
框架的使用
通過重寫子類或組裝對象等方法來利用框架,進行二次開發,實現具體功能的應用系統。設計類時要遵循框架的規範。
框架的意義
框架的最大好處就是重用。
在軟件生產中有三種級別的重用:內部重用,即在同一應用中能公共使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,以便在多個應用和領域都能使用;應用框架的重用,即爲專用領域提供通用的或現成的基礎結構,以獲得最高級別的重用性。
框架能重用代碼,因此從一已有構件庫中建立應用變得非常容易,因爲構件都採用框架統一定義的接口,從而使構件間的通信簡單。
框架能重用設計。它提供很多可重用的內部接口,通過對這些接口的實現,新的構件就能插入框架中,構件設計者就能重用構架的設計。
框架還能重用分析。所有的人員若按照框架的思想來分析事務,那麼就能將它劃分爲同樣的構件,採用相似的解決方法,從而使採用同一框架的分析人員之間能進行溝通。
框架能重用設計。它提供很多可重用的內部接口,通過對這些接口的實現,新的構件就能插入框架中,構件設計者就能重用構架的設計。
框架還能重用分析。所有的人員若按照框架的思想來分析事務,那麼就能將它劃分爲同樣的構件,採用相似的解決方法,從而使採用同一框架的分析人員之間能進行溝通。
通過以上對框架的重用 ,進而提高軟件的質量,降低成本,縮短開發時間。
框架VS架構(Architecture)
軟件架構是一種思想,一個系統藍圖,對軟件結構組成的規劃和職責設定。而軟件框架是一個實現,一個半成品,是針對一個特定問題的解決方案和輔助工具。體系結構確定了系統整體結構、層次劃分,不同部分之間的協作等設計考慮。框架比架構更具體。更偏重於技術涉嫌。確定框架後,軟件體系結構也隨之確定,而對於同一軟件體系結構(比如Web開發中的MVC),可以通過多種框架來實現。
J2EE是一個軟件架構,爲J2EE開發的工具和容器就是軟件框架。MVC是一個軟件架構,Strus,JSF,WEBWork是軟件框架。
框架VS設計模式(Design pattern)
設計模式研究的是一個設計問題的解決方法,一個模式可應用於不同的框架和被不同的語言所實現,一個框架中往往含有一個或多個設計模式,框架總是針對某一特定應用領域,但同一模式卻可適用於各種應用。
總之,框架是軟件,而設計模式是軟件的知識體,提升框架的設計水平。
總之,框架是軟件,而設計模式是軟件的知識體,提升框架的設計水平。