MVCS框架的注意點


1.Service最好用一個接口對應一個service(便於增加擴展方法)

2.除Services和Model外都需繼承自各自對應的父類

3.View不要輕易重寫Start和Awake方法(含與啟動有關的代碼)

4.View文件包含一個View和對應的mediator腳本,在Context中將View和對應的Mediator進行Bind

5.只有Command的Event需要在Context中進行Bind,其他文件的Event不需要

6.[Inject]自動注入(賦值)必須做成屬性

7.在Mediator中重寫OnRegister(當所有屬性被注入后並且都Bind完后調用)和OnRemove方法(當對應的View被銷毀時調用)

8.View只和Mediator交互,Mediator向Controller發送一個Command,在回調,在Mediator中創建一個View對象進行交互

9.所有文件都有一個Event枚舉

10.模塊間的通信用dispatcher(只用一次用局部就行,多次使用創建成全局的)

[inject]

public IEventDispatcher dispatcher{get;set;}

11.dispatcher通過dispatch(...Event.  ...)發

第二個參數是數據(可無),數據可以是任何類型

                             AddListener(...Event.  ...,OnComplete)收

第二個參數是用來處理數據的函數

用完通過RemoveListener銷毀

public void OnComplete(IEvent  evt){ }//evt.data表示數據

12.Command --> Service:在Command中創建一個IServices的對象進行交互,在Context中將IService和Service Bind

13.在Model和Service綁定代碼后加上 .ToSingleton()表示這個對象只會在整個工程中生成一個

14.在Service中創建局部dispatcher向Command傳信息

15.在Command <--> Service過程中Service可能花大量時間,在此過程中Command可能會自動銷毀,在Excute中加入Retain()保證一直不會銷毀,在收數據函數末尾加上Release()銷毀Command

16.Model是自己和自己做Bind

     Service是接口和實現做Bind

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM