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

2019-04-07  本文已影响0人  帅子锅

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读