我正在嘗試使用Backbone.Marionette,並且我在github上閱讀了關於wreqr的docs。 那麼,Event Aggregator,Commands和Request/Response之間的區別是什麼。何時使用這個或另一個?事件聚合器,命令和請求/響應之間的區別
5
A
回答
9
他們bascially都使用消息,它們的區別主要是語義:
- 事件聚合:有事時發送消息。代碼別的地方可能被監聽該消息,但也許不是
- 請求/響應:有代碼發送請求,它會期望的響應(如送我刷新數據)
- 命令:代碼在一個地方命令代碼執行一個動作。通常沒有返回值。
7
我想添加到David Sulc的answer。
請求/響應與事件聚合器和命令非常不同。它用於代碼的一部分代碼從代碼的另一部分請求某些內容的情況。答覆總是可以預料的。現在讓我們看看事件聚合器和命令是如何不同的。
Marionette的Event Aggregator允許您實現發佈 - 訂閱行爲。使用'on'方法可以訂閱一個事件並將一個事件綁定到任何對象。 您不能使用命令實現此綁定行爲。你也可以有多個對象監聽任何特定的事件。也可能有一種情況,沒有任何對象被綁定到或正在收聽任何事件。
命令專門用於在代碼的其他部分執行某些操作。對於特定命令,只能有一個處理程序,與可以有多個偵聽器的事件不同。
所以總結一下,在具體使用情況是:
1)請求/響應:當你需要從代碼的另一部分響應一些。
2)事件聚合:當你想對象綁定到事件
3)命令:你只是想你的代碼的其他部分來執行任務。
相關問題
- 1. 請求,響應和服務器之間有什麼區別?
- 2. Kohana的請求cookie(),響應cookie()和Cookie類之間的區別?
- 3. Task.Result和請求響應之間的區別
- 4. 請求頭緩存策略和響應頭之間的區別
- 5. 聚焦和聚焦(輸出)事件信號之間的區別
- 6. AJAX請求和常規瀏覽器請求之間的區別
- 7. 命令與複合應用程序塊中的事件之間的區別
- 8. ElasticSearch - 子聚合和管道聚合之間的區別
- 9. perl命令之間的區別'=>'和'='
- 10. Shell:eval和ksh命令之間的區別
- 11. mvn和mvn3命令之間的區別
- 12. qdel和kill命令之間的區別
- 13. GIT:合併請求和合並請求之間有什麼區別?
- 14. WPF和Silverlight之間的事件聚合
- 15. JDBC事務和sql腳本命令之間的區別
- 16. 「克隆」請求和「重放」請求之間的區別?
- 17. adb「install」命令和「pm install」命令之間的區別?
- 18. 合併請求和分支之間有什麼區別?
- 19. 集合和容器之間的區別
- 20. OnClick()事件和OnClickListener之間的區別?
- 21. JSF:ViewActions和preRender事件之間的區別
- 22. 事件和方法之間的區別
- 23. LinkLabel.Click和LinkLabel.LinkClicked事件之間的區別?
- 24. GET請求之間的區別?
- 25. 兩個http請求之間的區別
- 26. Java Post請求和瀏覽器發佈請求之間的區別
- 27. 反應流和事件監聽器之間有什麼區別?
- 28. Glassfish服務器本地和遠程命令之間的區別?
- 29. 命令與ScriptBlock之間的區別Powershell
- 30. Vim netrw - Explore命令之間的區別?