策略模式与命令模式区别
来源:互联网 发布:苹果电脑怎么下载软件 编辑:程序博客网 时间:2024/05/16 05:51
策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。
GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。
Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题。
GoF《设计模式》中说道:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
从这点看:
策略模式是通过不同的算法做同一件事情:例如排序
而命令模式则是通过不同的命令做不同的事情,常含有(关联)接收者。
目标不同!
命令模式是含有不同的命令(含有接收者的请求):做不同的事情;隐藏接收者执行细节。常见菜单事件,
而策略模式含有不同的算法,做相同的事情;
区别在于是否含有接收者。命令模式含有,策略模式不含有。
命令模式中的命令可以单独运行
打个比喻就是:
命令模式等于菜单中的复制,移动,压缩等,而策略模式是其中一个菜单的例如复制到不同算法实现
0 0
- 策略模式与命令模式区别
- 命令模式与策略模式的区别
- 策略模式与命令模式区别
- 命令模式与策略模式
- 策略模式与命令模式的区别 是什么?
- 策略模式与工厂模式的区别
- 代理模式与策略模式的区别!
- 工厂模式与策略模式之区别
- 桥接模式与策略模式区别
- 状态模式与策略模式的区别
- 简单代理模式与策略模式区别
- 命令模式&策略模式
- java模式之策略模式&模板模式 以及策略模式与模板模式的区别
- 设计模式之策略模式与状态模式的区别
- 简单工厂与策略模式的区别
- 策略模式Vs命令模式
- 命令模式-重温策略
- 命令模式-重温策略
- Ubuntu 16.04安装之后做什么
- jxls2.3-简明教程
- maven的pom配置样例
- 整理数组格式输出
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等
- 策略模式与命令模式区别
- 2017十大自动化与控制趋势
- 简单的Jax-WS WebService实现
- Android开发中强制下线功能实现
- ReactNative学习实例(一)动态变化的state
- C++ 解引用(*)和箭头(->)运算符的重载
- linux驱动由浅入深系列:usb子系统之一(域、包、事务、传输的基本概念)
- ajax同步与异步的区别
- gcc编译选项