策略模式与命令模式的区别 是什么?
2011-09-12 10:55
267 查看
策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。
GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。
Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题。
GoF《设计模式》中说道:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
我个人觉得,策略模式和命令模式的其中一个最大区别,是在于:策略模式对付的问题域通常是一个,就是说,多个策略只是处理同一个问题,而命令模式对付的是多个问题域,就是很多不同的命令来做不同的事情。
各种设计模式之间,有很多相似之处,只是由于侧重的方向不同。
转自:http://topic.csdn.net/u/20081115/11/dbb6cb72-db92-4569-9cbd-d146d2f3bf74.html
GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。
Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题。
GoF《设计模式》中说道:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
我个人觉得,策略模式和命令模式的其中一个最大区别,是在于:策略模式对付的问题域通常是一个,就是说,多个策略只是处理同一个问题,而命令模式对付的是多个问题域,就是很多不同的命令来做不同的事情。
各种设计模式之间,有很多相似之处,只是由于侧重的方向不同。
转自:http://topic.csdn.net/u/20081115/11/dbb6cb72-db92-4569-9cbd-d146d2f3bf74.html
相关文章推荐
- 策略模式与命令模式的区别 是什么?
- 策略模式与命令模式的区别 是什么?
- 策略模式与命令模式区别
- 状态模式,命令模式和策略模式的区别
- 命令模式与策略模式的区别
- 策略模式与命令模式区别
- js架构设计模式——MVVM模式下,ViewModel和View,Model有什么区别
- 设计模式之策略模式(包含与简单工厂模式的区别,实现了超市结账系统)
- #include命令的格式和功能各是什么?使用尖括号和双引号在含义上有什么区别?
- (转载)简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- MVVM模式中ViewModel和View、Model有什么区别?
- 策略模式和工厂模式的区别
- MVC设计模式或MVP设计模式-区别是什么?
- state设计模式--学习总结--state设计模式和策略设计模式的区别
- MATLAB中函数模式和命令模式的区别
- 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- 设计模式之模板方法模式、策略模式、命令设计模式
- Mysql 中不commit也可以改变数据库吧,那么写不写commit命令有什么区别呢?
- 理解 JavaScript 中的策略模式(附带call()和apply()的区别)
- 什么是策略模式?