1
A
回答
1
實際上,區別不在於結構和實現,而是概念 - 這兩種結構都代表不同的概念。
消息 - 即傳輸某種信息的結構
命令 - 觸發某種動作
也就是說,命令是一種消息的結構,因爲它至少傳輸關於動作的信息(並且在大多數情況下還有其他參數)。 在實現方面,MessageHandlers和CommandHandlers看起來非常相似,取決於你想要對這些信息做什麼。
實例:
UserRegisteredMessage(用戶名) - ,通知有關在系統中註冊所使用的消息,處理程序可以用於顯示在UI此信息
RegisterUserCommand(用戶名) - 一個命令,指示我們的系統註冊一個用戶,這可能涉及某種額外的行爲(如檢查唯一性),並可能會失敗。
1
在我的經驗中,主要是語義和模式的放置位置。消息可能會或可能不會產生副作用,其中一個命令意味着它會。另外,我認爲命令模式是作爲客戶端上的UI模式(通常,雖然不總是),其中消息模式意味着網絡跳躍的潛力。
此外,在大多數實現中,消息更鬆散耦合。您可以在可能聽或不聽的頻道上發送消息。命令(通常並不總是)在執行時更直接。
相關問題
- 1. MassTransit中處理程序和消費者之間的區別
- 2. 消息處理程序
- 3. SOAP消息處理程序
- 4. UIScrollView消息處理程序
- 5. StructureMap:如何獲得派生消息的基本消息處理程序? (命令處理程序模式)
- 6. 靜態事件處理程序和非靜態事件處理程序之間有什麼區別
- 7. axd和ashx處理程序之間的區別
- 8. 事件處理程序和回調函數之間的區別
- 9. 有序多線程消息處理
- 10. CPreviewView和命令處理程序
- 11. C#SNMP代理命令處理程序
- 12. click事件處理程序和ngClick指令有什麼區別?
- 13. ISR和中斷處理程序有區別嗎?
- 14. HTML事件處理程序與DOM級別0事件處理程序之間的區別
- 15. django異常處理程序中間件和處理程序500
- 16. 線程和處理程序有什麼區別
- 17. ASP.NET Web API消息處理程序
- 18. 安裝消息處理程序
- 19. 問題與消息處理程序
- 20. Websocketpp設置消息處理程序
- 21. 重複處理程序消息?
- 22. ASP.NET Web API消息處理程序
- 23. Masstransit。處理程序不確認消息
- 24. ActiveMQ/JMS消息處理程序測試
- 25. Android:比較處理程序的消息
- 26. Spring集成消息處理程序:ActiveMQTextMessage
- 27. 的Android,處理程序消息
- 28. 從消息處理程序啓動asynctask
- 29. 事件處理程序和事件偵聽器之間有什麼區別?
- 30. nativeElement.click()和事件處理程序的點擊之間有什麼區別?
對不起,我沒有得到你想要解釋我。 – Rookian