PureMVC(JS版)源碼解析(七):Mediator類 -开发者知识库

PureMVC(JS版)源碼解析(七):Mediator類 -开发者知识库,第1张

     之前的博文中,我們分析了SimpleCommand類和MacroCommand類,這兩個類用作"業務邏輯(business logic)"處理,今天,我們講一些和UI界面相關聯的Mediator類。

    我們知道在游戲中有各式各樣的UI界面,我們可以把一個UI界面當做一個視圖組件(View Component)。一個完整的游戲就是由許多視圖組件組成的。我們通過UI界面進行交互,觸發各類事件,游戲邏輯部分監聽事件、處理數據,數據更新后更新視圖組件。

PureMVC(JS版)源碼解析(七):Mediator類 -开发者知识库,第2张

(PureMVC 工作流程圖)

    其中,Mediator就是視圖組件(View Component)和游戲其他部分(比如業務處理(command)、數據處理(proxy))之間的橋梁,視圖組件(View Component)不能發送消息和接受消息,只有觸發鼠標事件,我們可以通過Mediator類監聽視圖組件(View Component)的各種鼠標(或手勢)事件(單擊、雙擊、拖動...)來,當監聽到視圖組件的Event后,Mediator發送消息,處理數據,除此之外Mediator類還可以接受消息,更新視圖組件(View Component)。

     每一個Mediator類的只有一個實例化對象,這些Mediator對象都由facade統一管理。每個Mediator類都有個NAME靜態成員,通過NAME屬性,可以在facade中找到這個唯一的Mediator對象象,因此NAME屬性值相當於一個key。

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复