Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

一個應用程式(軟體) 不管是 互動拍照 也好、 投影也好、車牌偵測... 舞台演唱會後方電視牆的互動應用程序、 粒子特效、3D或2D遊戲 等等 開發者通常都需要在一開始做規劃 ㄟ 假設我今天要寫 跟影像有關 可能需要偵測、可能需要提取前景、可能需要偵測圓形 之類的 我有 emgucv 、AForge.Net、 opencv 等等可以用 但是 假設我今天要做的應用程序是需要有視窗介面的~~ emgucv 跟 C# windows form 媒合性 就很高 而且直接在 visual studio 做開發 opencv 我可能還需要依賴 Qt 之類等等 framework 假設我今天是要寫一個 演唱會電視牆互動粒子特效 可能就會挑 openframeworks 、 processing 、kinect 來寫互動 Achitecture --->全稱 : Software Architecture 軟體架構 Achitecture 由好多 framework 組成 軟體架構(Software Architecture)是一種軟體在開發前的設計藍圖, 用來告訴軟體的結構,功能,介面,用法,與其他系統的構連以及資料交換等等規範, 但它並沒有叫你要用什麼方式實作, 因此軟體架構通常會產生文件,圖樣,原型以及規格等, 就是沒有可用的程式碼,因為那不是軟體架構應該有的東西, 就像蓋房子時是給你藍圖,而不是一幢蓋好的房子。 軟體框架(Framework):是一個已經成形的方法,而且有程式碼實體 (例如鋼構工法也是要有鋼材才能做),並且會告訴你要如何使用它 (即 Framework Documentation,MSDN Library 即為一最佳例子)