一、目錄
二、什麼是遊戲框架
框架(Framework)是一個框子——指其約束性,也是一個架子——指其支撐性。
IT語境中的框架,特指爲解決一個開放性問題而設計的具有一定約束性的支撐結構。在此結構上可以根據具體問題擴展、安插更多的組成部分,從而更迅速和方便地構建完整的解決問題的方案。
也就是說:
1)框架本身一般不完整到可以解決特定問題;
2)框架天生就是爲擴展而設計的;
3)框架裏面可以爲後續擴展的組件提供很多輔助性、支撐性的方便易用的實用工具(utilities),也就是說框架時常配套了一些幫助解決某類問題的庫(libraries)或工具(tools)。
約束性:針對解決特定問題的軟件框架會首先定義問題的邊界,進而將相關的軟件組件約束在這個邊界內,保持框架在解決問題方面上的內聚性。
支撐性:框架本身是不解決什麼問題的,但給瞭解決問題的相關組件一個插接、組合的底子,這個底子的科學性和易用性直接影響到在此之上進行進一步開發的科學性和方便性。
框架不一定只是解決軟件開發問題,也可以解決軟件工程問題(比如Microsoft Solution Framework)或信息系統等問題。
三、架構、框架和設計模式的區別
設計模式:針對特定的場景特定的問題提出的一種解決方案,比如Gof提出的23種設計模式,如工廠模式等;
軟件架構:是系統的一個草圖,闡述各個組件之間的通信,層次劃分,一旦系統開始詳細設計,架構藍圖就很難,甚至無法改變。如MVC三層架構——表示層、業務邏輯層、數據訪問層;
框架Framework:是軟件項目開發過程中提取特定領域的共性部分形成的體系結構,它是一個半成品,是可複用的設計,如Spring框架。
三者的比較