PureMVC結構
- PureMVC的目標是幫助你將應用程式分成三層架構,即Model、View、Control。
- Model、View、Control為獨體類,由這三者構成核心層。
- Facade為獨體類,負責實體化Model、View、Cntrol,且是核心層溝通的接口,簡單的說Facade負責注入相依性,在Facade注入相依有助於核心層彼此間鬆綁。
Model & Proxy
- Model具有Proxy的參照,Proxy代理負責操作數據模型,與遠端通信存取數據。
- 如此作法讓Model具有可攜性。
- View具有Mediator的參照
- Mediator負責管理視覺組件、加入事件偵聽、發送與接收notification,並改變組件的狀態。
- 如此做法將視覺組件與其操控邏輯切割開來。
- Control保存了所有Command的映射(mappings)。
- Command類是沒有狀態的,只有在需要時才被建立。
- Command能夠取得Proxy並能與之互動。
- Command可以發送Notification。
- Command能執行其他的Command。
- Command經常用於複雜或是系統範圍的操作,如啟動或關閉。
- 應用程式的商業邏輯應在此實現。
- Facade是獨體類。
- Facade負責實體化Core層(Model、View、Control),並能呼叫它們的Public Method。
- 在應用程式中只需要 Extends Facade Class,並實體化它即可實現MVC架構,不需去編寫Model、View、Control部分的程式碼。
- Proxy、Mediator、Command能夠透過實體化的Facade來互相溝通。
沒有留言:
張貼留言