iOS番外篇 - 軟體構架| 架構模式 | 框架 | 設計模式
框架 Framework
1 - 一種定義認為它是整個或部分系統的可重用設計,表現為一組抽象構件及構件例項間互動的方法;另一種定義認為框架是可被應用開發者定製的應用骨架
2 - 前者是從應用方面而後者是從目的方面給出的定義。從定義看它涉及到了一堆構件,以及這些構件之間的依賴關係、責任分配和流程控制等
注:框架就是一堆類以及這些類之間的關係構成了框架,是實實在在的程式碼、軟體
軟體構架 Software Architecture
1 - 它是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計
2 - 軟體架構是一個系統的草圖,描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊(在實現階段這些抽象元件被細化為實際的元件,比如具體某個類或者物件)
注:軟體構架是一種指導思想
架構模式(架構風格)Architecture Pattern
1 - 用來描述軟體系統裡的基本的結構組織或綱要。架構模式提供一些呈先定義好的子系統,指定它們的責任,並給出把它們組織在一起的法則和指南
2 - 從定義上來看它是在指導我們如何組織程式碼,是一種具有指導意義的思想
注:架構模式是一種如何設計軟體的策略思想
設計模式 Design pattern
1 - 是一套被反覆使用、多數人知道的、經過分類編目的、程式碼設計經驗的總結
2 - 從定義上看它涉及到了程式碼級別,側重於解決實際的現實的問題
注:是一種設計思想
結語
1 - 其實軟體這個行業的很多名詞都沒有特別準確的定義,好多概念是十分抽象和難理解的。比如 MVC 你說它是 Architecture Pattern 還是 Design Pattern 呢 ?個人傾向於前者。我們關心的是隻要能夠在問題的出現的場景中使用最為合適的技術去解決它就可以
2 - 個人理解