系统设计综述——个人思考总结
生活随笔
收集整理的這篇文章主要介紹了
系统设计综述——个人思考总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機應用系統設計完整概覽
要把計算機做的資深,就需要有對整個事件的全面認識。下面的結構圖就是對整個系統設計的全面認識。
- 從底層說起,所有的計算機設備包括PC,移動設備,嵌入設備都是一些有CPU核心和其他硬件設備組合的可通過電信號控制的硬件設備。
- 這些設備如何通過代碼控制呢,就需要用到所謂的CPU機器指令。這些指令是CPU生產商提供的,可以操作CPU的最最底層的指令。至于如何實現的,其實機器指令就是01代碼,之前01代碼是以紙上的空的形式存在的,CPU就是個不停掃描的機器讀到01的位置就會調整電路的狀態完成指定計算(這里需要參考二極管電路和計算機運行的相關知識了),后來只不過是升級了,本質還是沒變。要詳細了解要看通信原理等相關的硬件知識資料了。這里不用細究,而是要形成全局認知。
- 后來隨著編譯原理的出現,逐漸可以對機器指令進行抽象,轉為人類可識別的語言,隨后發展出現了匯編,然后是C/c++等靜態語言,后來又在靜態語言的基礎上構建虛擬機創建更加方便的動態語言比如java.c#.python等。
- 有了便于操作的語言之后,便考慮使用語言構建更適合人類使用的操作系統來控制這些硬件,為人類提供一個統一的平臺,屏蔽底層硬件的所有調用過程,于是出現了操作系統。
- 有了操作系統之后,由于操作系統只是把底層硬件封裝好供你調用了,并沒有其他的用處,但是沒有其他用要計算機干嘛。所以這就相當于提供給你了一個完善的平臺,并且允許你在上面使用它提供的接口,而你要做的就是發揮這個平臺的潛力,盡可能的把現實需要的功能搬到這個虛擬的平臺里,擴展平臺的實際功能,這個就是所謂的應用開發。
- 應用開發分為兩個層級,一個層級是直接開發指定功能的應用供用戶使用,這種程序一般擴展性差,功能單一,但是是必須的實用的。另一個層級就是開發為應用開發服務的應用,這類應用通常就是功能固定,但是可擴展性極強,有強勁的自定義功能,比如數據庫自定義表,比如各種服務器軟件可以自定網站,再比如各種框架,可以拿來自定義修改。
- 后來在計算機網絡的加持下,應用開發一般是B/S模式開發,就是現在常說的前端后端,這個和應用的類型層級沖突,不同層級的應用都是基于B/S模式開發的。
- 服務端軟件在架構層面,一方面經歷了單體到微服務的演變過程,當然不是所以的軟件都要演變稱為微服務,適合的架構才算最好的,另一方面根據自身軟件特點又有自己的架構特點,比如數據庫,虛擬機等軟件。也就是軟件既有自身的架構思想,又有對分布式等外界網絡技術的擴展結構
有了上述的認識,之后的學習無非就三個方面
- 夯實基礎——計算機網絡,操作系統,編譯原理,計算機組成原理等底層知識
- 學習應用軟件——學習各種中間件應用的功能,分析
- 構建應用——總結各種中間件如何和實際需求結合滿足人類需要。
外加兩個過程
- 功能認識——這個系統實現了什么功能,有什么用
- 功能實現的思想——這個功能怎么實現的
語言和硬件是這一切的基礎,語言通過自身的堆疊加上思想支持形成了系統,然后語言和系統開始相互作用不斷的產生新的語言和系統,這是一個神奇的過程,語言依靠自身構建系統,系統可以擴展語言,語言和系統互為基礎不斷發展。
所以把系統分為六大類:操作系統(操作系統的子系統虛擬機),語言運行的虛擬系統,,提供固定功能服務的系統,對語言進行整合,提高可用性的系統框架,根據實際需求使用已有系統和語言構建的新系統,對系統進行分布式擴展的系統
也就是獨立的系統設計思想(系統的系統,系統兩種系統設計思想),擴展為分布式的設計思想(獨立系統邏輯不變只是擴展),代碼構建的設計思想三大類。
之前說過語言是基石頭,語言通過系統設計思想形成系統,進而發展了語言,同時也發展了系統自身。系統為何有這么大的魅力,這個的關鍵就是系統的設計思想,系統設計思想分為架構思想和代碼設計思想,一個是宏觀的系統結構,一個是微觀的實際開發,對于系統架構又有很多分類,比如抽象層次高的分布式系統,比較具體問題的架構事務,安全等,都屬于系統架構層面的內容。而代碼設計方面就是23種設計模式,把抽象的架構轉為具體的實現,并且方便使用。所以整個專欄會分為如下幾個部分
- 系統設計思想
- 語言設計
- 代碼設計模式
- 語言+設計模式 ——> 框架
- 單體到微服務的應用的擴展系統設計思想
- 獨立應用設計思想
- 數據庫原理
- 消息隊列原理
- Spring的設計等等
- 虛擬機原理
- 具體系統設計實現分析
- OA,ERP系統
- B2C系統
- 根據需要定制的系統
- 語言設計
總結
以上是生活随笔為你收集整理的系统设计综述——个人思考总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 含抽水蓄能电站系统的调峰经济调度研究ma
- 下一篇: python命令窗口代码如何调整大小_可