NO IMAGE

程式設計隨想

多模組互動模式思考

三種模式

  1. 網路模式
    • 每個模組都是同等地位,互動式是直接和其他模組互動。模組內封裝傳送操作和接受處理,並且配置資訊傳送的路由。
    • 優勢:與其他模組直接互動,效率高。
    • 劣勢:多模組互動時,訊息不好管理。不容易理清關係。
    • 適用場景:模組較少,模組相互獨立,模組互動簡單。
  2. 放射模式
    • 有一個轉發模組,其他模組都與這個模組互動。所有的訊息傳送都在轉發模組中配置。其他模組內只封裝傳送操作和接受處理。
    • 優勢:從裝法模組可以清晰看出模組間互動,方便管理。
    • 劣勢:經過轉發模組,降低效率。
    • 適用場景:模組較多,模組相互獨立,模組互動複雜。
  3. 包含模式
    • 模組儲存互動模組引用,直接通過呼叫互動模組的共有介面實現互動。
    • 優勢:直接,高效,沒用冗餘功能
    • 劣勢:高度依賴;多模組互動時,邏輯複雜;會引起重複包含
    • 適用場景:模組間存在明顯的依賴關係和上下級關係。

模式組合

  1. 包含模式 放射模式
    • 場景:多個輸入輸出模組和多個處理模組,輸入輸出模組和處理模組關係複雜。
    • 形式:輸入輸出模組和處理模組間,以及輸入輸出模組之間採用放射模式。處理模組之間使用包含模式,如果處理模組比較多,互動複雜,可替換為網路模式。
  2. 包含模式 網路模式
    • 場景:少數的輸入輸出模組和少數當規模較大的處理模組
    • 形式:處理模組精心細分上下級關係,並通過包含模式精心互動。處理模組與輸入輸出模組模組使用網路模式。

模組分類

資料中心

記憶體資料。從介面中提取出來的資料,由後臺服務處理修改後通知介面更新。

IO模組

提供輸入輸出模組,包括介面,檔案,網路,資料庫等。

服務模組

處理業務邏輯。

Created with Raphaël 2.1.0IO模組IO模組服務模組服務模組資料中心資料中心滑鼠鍵盤,網路IO觸發服務模組處理完資料後更新資料中心提示介面更新網路IO返回資料

純虛類(介面)和繼承類

純虛類

純虛類適用於提供介面,基類實現簡單,只有介面定義。子類除了實現基類介面,可能還有其他業務介面。子類本身提供主要服務,通過介面可以提供部分專業服務。
– 提供全服務:子類
– 特點:可以提供部分服務
– 缺點:全服務的靈活性差

繼承類

繼承類適用於實現介面。基類的介面涵蓋子類的所有介面,子類僅僅實現基類中未實現的介面。以子類建立,但使用的時候基本上是通過基類提供服務。
– 提供全服務:基類
– 特點:全服務的部分服務可以提供不一樣的實現
– 缺點:基類介面龐大,容易製造超級大類

衍生組合

組合對介面和繼承類的結合,適用於子類這個更時候稱之為承載類,並沒有繼承關係,下同)中未實現的介面與子類本身定位不是必要的,可通過組合實現。具體是建立一個新純虛類,其中包括子類的未實現介面。子類建立純虛類的引用。子類通過呼叫純虛類的介面來實現未實現的介面,而純虛類的介面則通過其繼承類來實現。
– 提供全服務:子類(承載類)
– 特點:全服務的部分服務可以提供不一樣的實現,可以提供部分服務
– 缺點:弱化介面與子類的關係(對於耦合性來說可能是好事,但是涉及到業務的話,如果是介面是子類的必要介面,就不應該弱化這種依賴關係