状态模式,命令模式和策略模式的区别

设计模式中有三个模式State, Command, Strategy,这三种设计模式都是行为型设计模式,在结构上又都很像,所以很多时候分不清楚。


区分这三种模式不要focus在结构上,这三种模式最主要是在使用意图上有区别:

状态模式:内部维护一个状态,会随着public api的调用进行相应的状态转移。外界不需要知道状态及其变化情况。

命令模式:根据客户的请求封装相应的命令,处理者就不用care这个命令是什么,该怎么处理。只用去调用统一的execute接口即可,当然不同的命令有不同的接口名称,也可以不叫execute。

策略模式:你有很多不同的算法,所以你可以封装算法,使用者执行相同的功能,但是使用不同的方法。这就是策略。


原文:http://blog.csdn.net/hongchangfirst/article/details/52573294

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值