人們對軟體架構存在非常多的誤解:
其中乙個最為普遍的誤解就是:將架構和框架混為一談,其實很簡單,一句話:框架就是軟體,架構不是軟體。框架落腳在「架」字上,可以理解成名詞性的,是乙個客觀性的名稱存在,如:.netfromework;而架構體現在「構」字上,理解成為構造,是乙個動詞性的,是一系列動作發生的策略性體現。
框架一種特殊的軟體,它並不能提供完整無缺的解決方案,而是為你構建解決方法提供良好的基礎,框架是半成品,典型的,框架是系統或子系統的半成品,框架中的服務尅被最終應用系統直接呼叫,而框架中的擴充套件點是**用開發人員定製的「可變化點」。
架構不是軟體,而是關於軟體如何設計的重要策略,軟體架構決策設計到如何將軟體系統分解成不同的部分,各部分之間的靜態結構關係和動態互動關係等,經過完整的開發過程之後,這些架構決策將體現在最終開發出的軟體系統中,當然,引入軟體架構之後,整個開發過程變成了「分兩步走」,而架構決策往往會體現在框架之中,或許,人們常把架構和框架混為一談的原因就在於此吧,我們不能指著某些**,說這就是軟體架構,因為軟體架構是比具體**高乙個抽象層的概念,架構勢必被**所體現和遵循,但任何一段具體的**都代表不了架構。
框架技術和架構技術的出現,都是為了解決軟體系統日益複雜所帶來的困難而採取「分而治之」思維的結果--先大局後區域性,就出現了架構,先通用後專用,就出現了框架,下圖很好揭示了這一點,架構是問題是抽象解決方案,他關注大局而忽略細節,而框架是通用半成品,還必須根據具體需求進一步定製開發才能變成應用系統
總結為兩句話:
(1)為了盡早驗證架構設計,或者處於支援產品線開發的目的,可以將關鍵的通用機制甚至整個架構以框架的方式進行實現;
(2)業界(及公司內部)可能存在大量可重用的框架,這些框架或者已經實現了軟體架構所需的重要架構機制,或者為未來系統的某個子系統提供了可擴充套件的半成品,所以最終的軟體架構可借助這些框架構造、。
架構和框架的理解
框架,即framework。其實就是某種應用的半成品,就是一組元件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞台,你來做表演。而且,框架一般是成熟的,不斷公升級的軟體。所謂框架,就是為應用開發者定製的應用骨架 我們在這個應用骨架裡把需要用到的一些底層的類 介面等進行封裝,然後我們依據實際的...
架構和框架的區別
節選自 軟體架構設計 書稿 圖2 7 架構和框架的區別 筆者發現,人們對軟體架構存在非常多的誤解,其中乙個最為普遍的誤解就是 將架構 architecture 和框架 framework 混為一談。一圖勝千言,圖 2 7切中肯綮地點出了架構和框架的區別。一句話,框架是軟體,架構不是軟體。框架是一種特...
架構和框架的區別
人們對軟體架構存在非常多的誤解,其中乙個最為普遍的誤解就是 將架構 architecture 和框架 framework 混為一談。框架是一種特殊的軟體,它並不能提供完整無缺的解決方案,而是為你構建解決方案提供良好的基礎。框架是半成品。典型地,框架是系統或子系統的半成品 框架中的服務可以被最終應用直...