1. 程式人生 > >構架、框架、設計模式之間的關係簡述

構架、框架、設計模式之間的關係簡述

10 已推

一、軟體體系結構和框架的定義

軟體體系結構的英文單詞是“architecture”. Architecture的基本詞義是建築、建築學、建築風格。

軟體體系結構雖然根植於軟體工程,但還處於一個研究發展的階段,迄今為止還沒有一個為大家所公認的定義。

《設計模式》中對框架的定義是框架就是一組相互協作的類,對於特定的一類軟體,框架構成了一種可重用的設計。

軟體框架是專案軟體開發過程中提取特定領域軟體的共性部分形成的體系結構,不同領域的軟體專案有著不同的框架型別。框架的作用在於:由於提取了特定領域軟體的共性部分,因此在此領域內新專案的開發過程中程式碼不需要從頭編寫,只需要在框架的基礎上進行一些開發和調整便可滿足要求;對於開發過程而言,這樣做會提高軟體的質量,降低成本,縮短開發時間,使開發越做越輕鬆,效益越做越好,形成一種良性迴圈。

框架不是現成可用的應用系統。是一個半成品,需要後來的開發人員進行二次開發,實現具體功能的應用系統。框架不是“平臺”,平臺概念比較模糊可以是一種作業系統,一種應用伺服器,一種資料庫軟體,一種通訊中介軟體等地那個,因此平臺在應用平臺主要指提供特定服務的系統軟體,而框架更側重了設計,開發過程,或者可以說,框架通過呼叫平臺提供的服務而起的作用。

框架不是工具包或者類庫,呼叫API並不就是在使用框架開發,緊緊使用API是,開發者完成系統的主題部分,並不時地呼叫類庫實現特定任務。而框架構成了通用的、具有一般性的系統主體部分,二次開發人員只是像做填空一樣,根據具體業務,完成特定應用系統中與眾不同的特殊部分。

二、框架與架構之間的關係

框架不是構架(即軟體體系機構)。體系結構確定了系統整體結構、層次劃分,不同部分之間的協作等設計考慮。框架比架構更具體。更偏重於技術涉嫌。確定框架後,軟體體系結構也隨之確定,而對於同一軟體體系結構(比如Web開發中的MVC),可以通過多種框架來實現。

三、框架與設計模式之間的關係

設計模式和框架在軟體設計中是兩個不同的研究領域。設計模式研究的是一個設計問題的解決方法,一個模式可應用於不同的框架和被不同的語言所實現;而框架則是一個應用的體系結構,是一種或多種設計模式和程式碼的混合體雖然它們有所不同,但卻共同致力於使人們的設計可以被重用,在思想上存在著統一性的特點,因而設計模式的思想可以在框架設計中進行應用。

框架和設計模式存在著顯著的區別,主要表現在二者提供的內容和致力應用的領域。

1)、從應用領域上分,框架給出的是整個應用的體系結構;而設計模式則給出了單一設計問題的解決方案,並且這個方案可在不同的應用程式或者框架中進行應用。

2)、從內容上分,設計模式僅是一個單純的設計,這個設計可被不同語言以不用方式來實現;而框架則是設計和程式碼的一個混合體,程式設計者可以用各種方式對框架進行擴充套件,進而形成完整的不同的應用。

3)、以第二條為基礎,可以得出設計模式比框架更容易移植:框架一旦設計成形,雖然還沒有構成完整的一個應用,但是以其為基礎進行應用的開發顯然要受制於框架的實現環境;而設計模式是與語言無關的,所以可以在更廣泛的異構環境中進行應用。

總之,框架是軟體,而設計模式是軟體的知識體,提升框架的設計水平。 

相關推薦

架構框架設計模式關係

  在學習軟體工程的時候,第一次接觸到了架構這個概念。當初接觸的時候對其的理解是非常淺薄的,因為那時候工程經驗比較少,對這樣一個深層次的概念還是模糊不清楚的。        隨著學習的深入,開始接觸了設計模式,也就是那本令我愛上程式設計的書--《大話設計模式》,書中的小

架構框架設計模式

們的 設計模式的 發現 使用 特定 位置 業務邏輯層 工具 如果 軟件架構是系統的一個草圖,闡述了各個組件之間的通信,層次劃分,一旦系統開始詳細設計,架構藍圖就很難甚至無法改變。 例如:三層架構:一種設計軟件架構的思想。 通常意義上的三層架構就是將整個業務應用劃分為表示層(

框架設計模式之間還是有區別的

直接 解決 模式 領域 ont 一個 特定 pan 以及 (1)框架通常是代碼重用,而設計模式是設計重用。 (2)框架是軟件,而設計模式是軟件的知識。 (3)設計模式是對在某種環境中反復出現的問題以及解決該問題的方案的描述,它比框架更抽象; 框架可以用代碼表示,也能直接執行

構架框架設計模式之間關係簡述

10 已推 一、軟體體系結構和框架的定義 軟體體系結構的英文單詞是“architecture”. Architecture的基本詞義是建築、建築學、建築風格。 軟體體系結構雖然根植於軟體工程,但還處於一個研究發展的階段,迄今為止還沒有一個為大家所公認的定義。 《設計模式》中對框架的定義是框

架構框架設計模式之間的關系簡述

數據庫軟件 ron 相互 服務 語言 體系結構 表現 arch 良性 http://developer.51cto.com/art/200906/130816.htm 一、軟件體系結構和框架的定義 軟件體系結構的英文單詞是“architecture”. Architectu

【Web篇07】如何理解架構框架設計模式

架構、框架和設計模式是Web初學者比較難理解和表述的三個概念,在查閱了大量前人寫的部落格和資料後,將這三個概念和Web的經典三層架構搭配講解,總結如下: 一、架構 FrameWork 架構可以理解成對客戶的需求進行拆分,抽象出不同的元件,不同的抽象元件完成不同的功能,偏於設計一個草圖

面向物件設計物件之間關係---依賴關聯聚合和組合

在學習面向物件設計物件關係時,依賴、關聯、聚合和組合這四種關係之間區別比較容易混淆。特別是後三種,僅僅是在語義上有所區別,所謂語義就是指上下文環境、特定情景等。他們在程式語言中的體現卻是基本相同的,但是基本相同並不等於完全相同,這一點在我的前一篇博文《設計模式中類的關係》

雲端計算三種服務模式SaaSPaaS和IaaS及其之間關係

     它們之間的關係主要可以從兩個角度進行分析:其一是使用者體驗角度,從這個角度而言,它們之間關係是獨立的,因為它們面對不同型別的使用者。其二是技術角度,從這個角度而言,它們並不是簡單的繼承關係(Saa..... 三種服務模式 根據現在最常用,也是比較權威的NI

MVC框架(二)----前端與後端MVCMVVM等設計模式區別與聯絡

        上篇文章中提到了前端的框架分類,其中前端JS框架中有些是MVC設計模式,但是java和dotNET平臺也有自己的MVC也有自己的設計模式,這兩類有什麼區別呢,好多猿們甚是不解,旁徵博引

單例設計模式

println pre log 內存 urn args 懶漢 logs pan /* 設計模式:解決某一類問題最有效的方式 單例設計模式:解決的是一個類在內存中只有一個對象的問題 1:構造方法私有化 2:構造方法私有化之後,一個對象都不能創建了,所以只能在類中創建對

架構框架模式模塊組件插件控件中間件的含義和區別

研究 switch 多個 強調 ons not supports cte system 架構、框架、模式、模塊、組件、插件、控件、中間件的含義和區別。經常看到這些概念,但是有些含糊,花點兒功夫整理一下,結果還是有些地方理解的不透徹,先將整理的內容寫下來,以供交流。左側英文欄

設計模式之間關係(簡單來說)

總體來說設計模式分為三大類: 1、建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。 2、結構型模式,共七種:介面卡模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。 3、行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式

Scrapy爬蟲框架 使用流程框架儲存模式介紹

Scrapy特色 建議 使用 xpath 進行解析 (因為Scrapy集成了xpath介面) 高效能爬蟲、多執行緒、資料解析、持久化儲存 自動攜帶cookie無需單獨操作 安裝 mac下 pip install scrapy 使用流程 終

淺談架構框架模式模組元件外掛控制元件中介軟體

軟體開發中,你常常會聽到技術架構、開發框架、設計模式、程式碼模組、中間層(件)、可插拔元件等等計算機行業的專有名詞。這些名詞和我們的開發工作息息相關,如果你想要在開發領域做的更好、走的更遠,你必須要對這些專有名詞有一個大概的瞭解。 1、架構 架構也成稱為軟體體系結構。簡單地說就是一種設計

python小總結3(異常單例設計模式

一、異常 AttributeError:試圖訪問一個物件沒有的成員【屬性和方法】 ValueError:值錯誤,傳入了一個不期望的值 ImportError:無法匯入模組或者包:基本上路徑問題 IndexError:訪問了不在範圍內的索引 KeyError:試圖訪問字典中不存在的鍵 NameErr

設計模式第2篇:簡單工廠工廠方法抽象工廠設計模式

1.簡單工廠設計模式  特點:一個抽象的產品類、多個具體的產品類、一個具體的工廠類。  (1)抽象的產品類(例如產品為手機螢幕)     public interface Screen{       void screenSize();     }  (2)具體的產品類(例如需要5英寸和6英寸的手

javaSE (三十八)設計模式 ( 單例設計模式(餓漢式/懶漢式)簡單工廠模式工廠模式介面卡模式模板方法設計模式

1、單例設計模式(餓漢式/懶漢式): 概念:保證類在記憶體中只有一個物件 思路: 私有構造方法,其他類不能再訪問該構造方法了 建立本類物件(就在本類裡建立),將物件的應用作為成員變數,並私有靜態化(在這裡又分為餓漢式和懶漢式,餓漢式直接引用連線物件,而懶漢式在第二步先建

23什麼是設計模式

學習目標: 1、瞭解Java的歷史 2、為什麼要學習Java語言 3、端正學習態度 學習過程: 一、什麼是設計模式 源於《Design Patterns: Elements of Reusable Object-Oriented Software》即《設計模式

責任鏈設計模式

1. 責任鏈模式介紹 使多個物件都有機會處理請求,從而避免了請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有物件處理它為止。 考慮到如下情景: 小李要出差,出差之後,小李要報銷經費,小李申請了50000塊的經費。

MVPMVVM,MVC設計模式的例項分析

先只考慮V和P的分離,在這裡,我們用介面實現 首先,程式先例項化V,主函式程式碼如下 static class Program { /// <summary> /// 應用程式的主入口點。