美文网首页
状态模式,命令模式和策略模式的区别

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

作者: 帅子锅 | 来源:发表于2019-04-07 22:15 被阅读0次

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

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

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

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

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

    相关文章

      网友评论

          本文标题:状态模式,命令模式和策略模式的区别

          本文链接:https://www.haomeiwen.com/subject/ibieiqtx.html