有時我認爲Controller和Command是相同的,因爲它們都封裝了業務邏輯。我能想到的唯一區別是一個命令必須有一個沒有參數的execute()方法,但是控制器的execute()方法可以接受參數。或者我錯了?MVC模式中的控制器和命令模式中的命令之間有什麼區別?
0
A
回答
0
這是一個有點像比較蘋果和橘子。從概念上講,命令是一種設計模式,但控制器是元設計模式的一部分。這意味着它們不是相互排斥或包容性的。一個控制器可以由一個命令組成(甚至包括一組命令)。 MVC有很多種類,控制器在許多方面的責任略有不同,但通常控制器嚴格用於將用戶輸入轉換爲應用程序數據(模型)。在大多數MVC風格中,它還負責在模型更改時更新視圖。通常控制器是長命的。只要某個模型和/或視圖存在,它們就存在,或者如果它們具有視圖/模型註冊系統,則甚至可以使它們活躍起來。
另一方面,命令在理論上是無狀態的,它完成了它的工作,然後發佈了垃圾收集。實際上,命令的執行時間可能比其執行方法的執行時間稍長,這是爲了更容易地促進異步操作。但是,命令總是應該只專注於一個且只有一個任務,並且完成後它們應該消失。
0
相關問題
- 1. elasticbean中的命令和容器命令有什麼區別
- 2. MVC和命令模式
- 3. Linux命令shell中「命令> log.txt」和「命令1>&log.txt」之間的區別?
- 4. Rust中的命令模式
- 5. 聲明式編程和命令式編程有什麼區別?
- 6. 有什麼區別複製命令 - windows
- 7. Shell:eval和ksh命令之間的區別
- 8. adb「install」命令和「pm install」命令之間的區別?
- 9. 命令和語句之間有什麼區別
- 10. keytool命令的導入和-importcert之間的區別是什麼
- 11. MVC模式中的模型和實體有什麼區別?
- 12. mvn:deploy和mvn:install命令有什麼區別?
- 13. linux和unix命令有什麼區別?
- 14. 「黃瓜」命令和「耙黃瓜」命令有什麼區別?
- 15. 運行命令和cmd命令有什麼區別?
- 16. Xamarin形式 - ICommand和命令之間的區別?
- 17. 對於cmake「include」命令,文件和模塊有什麼區別?
- 18. 在命令模式中,你稱之爲將其他命令組合在一起的命令是什麼?
- 19. MVVM模式和Silverlight命令
- 20. AsynchTask和命令模式?
- 21. Vim命令模式
- 22. 從命令模式
- 23. wpf命令模式
- 24. 命令式和麪向對象編程有什麼區別?
- 25. MVC模式中的控制器與MVP模式中的演示者有什麼區別?
- 26. Vim netrw - Explore命令之間的區別?
- 27. 命令模式 - 目的?
- 28. sed的模式命令
- 29. Selenium IDE中的uncheck和uncheckAndWait命令有什麼區別?
- 30. '>'和'#'在Linux中的命令行界面有什麼區別?