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