談系統骨架的建立——公司第四次交流會內容


目錄

宏觀上的“系統架構”

  • 系統主要功能(需求分析)
  • 確定系統最終使用場合
  • 系統划分模塊
  • 各模塊間怎樣協作
  • 每個模塊技術模式(C/S(或單機)、B/S、移動app)
  • 每個模塊采用什么技術開發
  • 出系統架構圖、相關文檔
  • 系統框架搭建(編碼)、項目組成員培訓(指導)
系統架構圖(舉例:微信)
 
微觀上的“系統設計”
  • 系統運行的持續性(動力)
  • 系統處理數據的重復性
  • 系統的可擴展性(=>框架)
  • 系統的容錯性
  • 系統的通用性(=>框架)
生產者-消費者模式 設計圖(舉例)
宏觀架構與微觀設計的區別

前者:

  • 站得高看得遠,將重點放在整個系統組成上。幾乎不涉及到“編碼”;
  • 架構者需要熟悉各種技術,了解各種技術優劣以及適用場合;
  • 架構者需要豐富的項目經驗。

后者:

  • 注重代碼實現,側重系統內部實現原理;
  • 設計者需要豐富的編碼經驗;
  • 設計者與if/else/while等打交道。
孰輕孰重?
三種線程
泵的作用
代碼中泵的作用
常見泵結構(1)——Windows消息處理(部分)
 
常見泵結構(二)——Windows消息(完整)
常見泵結構(三)——Socket數據接收
常見泵結構(四)——Web Server(同步)
常見泵結構(五)——Web Server(異步)
串行處理數據的泵
並行處理數據的泵
“泵”對系統的意義
什么是框架?

當你為了解決某個具體問題而設計一個系統時,如果做到了:

  • 通用性好。不過分依賴其他模塊,不限制處理特定業務;
  • 容錯性高。內部包含一套專門異常處理機制;
  • 擴展性強。方便增加新的功能;
  • 提供一套專門類庫。

這時候,就可以把該系統當作一個框架。它可以用來處理某一類問題。

框架的特點
  • 動力性
  • 持續性
  • 通用性強
  • 可擴展性高
  • 容錯性好

理論上,任何一個框架不做任何改變,直接編譯即可運行。

框架的作用(一)

框架的作用(二)

“機場資源調度模擬仿真系統”設計草圖

幾個問題

  • 整個系統怎樣維持一個“持續運轉“的狀態?
  • 服務端怎樣能夠持續處理客戶端的輸入?
  • 怎樣維持地圖中各元素的狀態?
  • 系統時間怎樣統一?
  • 怎樣維護訓練腳本狀態?
問題答案(一)
問題答案(二)
微觀上看“機場系統”
PTT下載
 
(以上內容為公司第四次交流會內容)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM