Unity架構分層

將專案分為四層

  1. 表現層:為ViewController 或是 MonoBehaviour腳本,在這一層主要與顯示相關
  2. 表現邏輯:指的是當Model資料變更之後,View顯示更新之後的資料,即Model -> View;可以使用呼叫方法,委託,事件三種方式完成。
  3. 交互邏輯:為接收使用者輸入之後改變Model資料,即View -> Model;可以使用Command pattern減輕Controller的負擔,注意:command是沒有狀態的,他類似一個方法,呼叫之後就不用了
  4. Model層:管理資料,提供資料的增刪改查
  5. Utility層:工具層,提供一些共用的工具,如資料儲存、網路連接、藍芽、序列化與反序列化等
  6. System層:系統層,提供API且有狀態的物件,例如藍芽服務,計時器服務,網路服務等

這四層的交互

  • 表現層改變Model層System層的狀態會使用Command,
  • System層Model層通知表現層使用事件或是委託,
  • 表現層查詢狀態時可以直接獲取System層Model層
  • 一般,表現層不會訪問到Utility層Utility層也不會通知表現層