有时我认为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中的命令行界面有什么区别?