
策略与模式的区别
策略与模式的区别,在职场上主要看个人的工作能力,要学会良性竞争才能为自己开辟道路,职场人脉也是一点点积攒起来的,职场上的隐形陷阱是很多的,以下是策略与模式的区别文章分享。
策略与模式的区别1UML
状态模式是策略模式的孪生兄弟,是因为它们的UML图是一样的。但意图却完全不一样,策略模式是让用户指定更换的策略算法,而状态模式是状态在满足一定条件下的自动更换,用户无法指定状态,最多只能设置初始状态。
状态模式:
例如网购的商品订单,处于不同的状态,但是是针对同一订单的不同的状态。同一处理方法,状态切换了做的事情就不同。
策略模式:
例如聚合支付平台,有支付宝、微信支付、银联支付等,可以使用不同的支付策略。
区别:
1、状态模式重点在各状态之间的切换,从而做不同的事情;而策略模式更侧重于根据具体情况选择策略,并不涉及切换。
2、状态模式不同状态下做的事情不同,而策略模式做的都是同一件事。例如,聚合支付平台,有支付宝、微信支付、银联支付,虽然策略不同,但最终做的事情都是支付,也就是说他们之间是可替换的。反观状态模式,各个状态的同一方法做的是不同的事,不能互相替换。
3、状态模式封装了对象的状态,而策略模式封装算法或策略。因为状态是跟对象密切相关的,它不能被重用;而策略模式通过从Context中分离出策略或算法,我们可以重用它们。
《策略与模式的区别.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:






点击下载文档
文档为doc格式