1. 程式人生 > >模組與模組之間通訊設計-元件設計思想

模組與模組之間通訊設計-元件設計思想

 --模組與模組之間的設計,除了大範圍的設計模式,更多不屬於模式的多種方法呼叫都可以通訊。         -- 如何設計低耦合的,高內聚的模組之間通訊?原則:         -- 1.用管理器用介面,儘量關聯介面(管理器),在其它模組中用管理器設定和呼叫,而不是關聯具體的類(會導致太錯綜複雜)。         -- 2.高內聚控制變數,關於本模組相關的控制儘量寫在自身模組中,其它模組呼叫本模組設定,而不是依賴於其它模組的控制變數。         -- 這樣一個程式設計師負責自己的模組,賦值其它模組的程式設計師不需要為本模組維護控制變數。        元件的設計思想也是一個元件做一個單一職責,然後組裝作為一個獨立管理器或介面(GameObject)。         -- 內部的通訊是通過註冊了RegisterMessage到父類資料結構,SendMessage時候父類會分發呼叫(中介者統一管理)。         -- GameObject外部通訊,也是要大的物件管理器(map或hashMap)管理,大多數時候是管理器Update,GameObject各自OnUpdate完成自己的邏輯。         -- GameObject之間通訊,確是要自己建立關聯對方物件或節點(transform),通過GameObject.Find("/CamPosCtrl/mainCamera")查詢到。         -- 也是要在大的管理器中進行查詢通訊。    也是要在大的管理器中進行查詢通訊, 通過資料結構進行大場景管理, 遊戲框架中呼叫大管理器模組的介面實現物件的建立,更新,替換,刪除邏輯。    -- 資料結構細節演算法->物件例項->資料結構物件管理器=》程式 = 演算法 + 資料結構     --一個功能要單一又不能隨便交給其它類負責(內聚),一類功能的邏輯介面化,模組邏輯需要管理器統一管理(或者客戶管理)。         -- 3.中介者集中管理控制變數,邏輯的耦合度比較高,傳遞引數過多,需要兩個模組制定直接通訊的結構體。或者集中到一箇中介者資料容器中統一管理控制多個變數。
        -- 4.直接傳遞控制變數,只對耦合關係很強的。         --