策略与模式的区别
策略与模式的区别,在职场上主要看个人的工作能力,要学会良性竞争才能为自己开辟道路,职场人脉也是一点点积攒起来的,职场上的隐形陷阱是很多的,以下是策略与模式的区别文章分享。
UML
状态模式是策略模式的孪生兄弟,是因为它们的UML图是一样的。但意图却完全不一样,策略模式是让用户指定更换的策略算法,而状态模式是状态在满足一定条件下的自动更换,用户无法指定状态,最多只能设置初始状态。
状态模式:
例如网购的商品订单,处于不同的状态,但是是针对同一订单的不同的状态。同一处理方法,状态切换了做的事情就不同。
策略模式:
例如聚合支付平台,有支付宝、微信支付、银联支付等,可以使用不同的支付策略。
区别:
1、状态模式重点在各状态之间的切换,从而做不同的事情;而策略模式更侧重于根据具体情况选择策略,并不涉及切换。
2、状态模式不同状态下做的事情不同,而策略模式做的都是同一件事。例如,聚合支付平台,有支付宝、微信支付、银联支付,虽然策略不同,但最终做的事情都是支付,也就是说他们之间是可替换的。反观状态模式,各个状态的同一方法做的是不同的事,不能互相替换。
3、状态模式封装了对象的状态,而策略模式封装算法或策略。因为状态是跟对象密切相关的,它不能被重用;而策略模式通过从Context中分离出策略或算法,我们可以重用它们。
4、在状态模式中,每个状态通过持有Context的引用,来实现状态转移;但是每个策略都不持有Context的引用,它们只是被Context使用。
5、状态模式将各个状态所对应的操作分离开来,即对于不同的状态,由不同的子类实现具体操作,不同状态的切换由子类实现,当发现传入参数不是自己这个状态所对应的参数,则自己给Context类切换状态;这种转换是"自动","无意识"的。状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。而策略模式是直接依赖注入到Context类的参数进行策略选择,不存在切换状态的操作。
6、策略模式的客户端必须对所有的策略类相当了解,明确当前场景下各种策略的利弊,权衡在当前场景下应该使用哪种策略,也就是是说策略类对客户端是暴露的,策略是外界给的,策略怎么变,是调用者考虑的事情,系统只是根据所给的策略做事情。
状态模式依赖于其状态的变化时其内部的行为发生变化,将动作委托到代表当前状态的对象,对外表现为类发生了变化。状态是系统自身的固有的,由系统本身控制,调用者不能直接指定或改变系统的状态转移。
联系:
状态模式和策略模式都是为具有多种可能情形设计的模式,把不同的处理情形抽象为一个相同的接口,符合对扩展开放,对修改封闭的原则。
还有就是,策略模式更具有一般性一些,在实践中,可以用策略模式来封装几乎任何类型的规则,只要在分析过程中听到需要在不同实践应用不同的业务规则,就可以考虑使用策略模式处理,在这点上策略模式是包含状态模式的功能的,策略模式是一个重要的设计模式。
方法是"为了完成一定的目的和任务,活动中所采用的方式、手段"
策略是"不同的条件下,为达到不同的结果所采用的方式、方法、媒体的总和"
例子:
教学方法和教学策略:
1、教学方法是指“为了完成一定的教学目的和任务,师生在共同活动中所采用的方式、手段。既包括教的方法,也包括学的方法,是教法与学法的统一”。
一般的教学方法应该有以下的几种:讲授法、演示法、讨论法、训练和实践法、合作学习法、示范模仿法、强化法、实验法、练习法等。
2、教学策略是指“在不同的教学条件下,为达到不同的教学结果所采用的方式、方法、媒体的总和” 。
如先行组织者教学策略、掌握学习教学策略、情境-陶冶教学策略、示范-模仿教学策略;
再如建构主义中的自主学习策略包括:支架式教学策略、抛锚式教学策略、随机进入教学策略、启发式教学策略、自我反馈式教学策略、基于Internet的探索学习策略;
还有协作式教学策略包括:课堂讨论、角色扮演、竞争、协同和伙伴等。还有探究型教学策略等等。
战略与策略的相同点与区别比较分析
战略应该是方向性的把握,而策略则是具体的动作。策略是从属于战略的,没有战略指导的策略不会有太大的价值;而战略也是需要各种策略支持的,没有看准时机,及时出牌,战略永远只是空想。所以,战略和策略第一个区别是:战略要看方向,策略要看时机。
其次,战略和策略的区别在于:战略需要减法,而策略需要做加法。战略的目的是要在众多的道路中选对一条,然后走下去;而策略则是面对一个具体的目标,应该从哪些方面进行攻打,最终占领它。
再次,战略是长远而简单的,复杂的不叫战略;策略是短促而复杂的,不短促不足以把握时机,不复杂不足以取得完胜。
战略与执行是我们每一个利润中心的两个基本点。我想说的是,战略+策略+执行,可能会更清晰的描述在战略之后执行层面的内涵。
战略一旦确定,执行是至关重要的.。有些时候即便战略不清晰甚至不成熟,良好的执行将会使战略升级。战略之后是执行,执行之前不应该简单说成是战略,而是战略导向下的策略。策略是战略的执行,但更是执行前的执行战略。
策略,即策划、谋略。尤其在面临选择时,面临行动前,策划、谋略尤为重要,对战略的成功实施起着决定性的作用,否则一旦选择错了,或选择时机不当,或选择顺序有差,均会导致战略的实施不力。甚至于后来,人们会怀疑战略是否正确。诸多时候,大凡策略出问题时,我们都去怀疑战略,其实不然,我们应该检讨策略是否正确。有些时候,我们不怀疑战略,我们不怀疑团队的具体执行力(这里具体执行力指的是策略后的执行力),但公司或多或少出些问题或者说不能令投资者满意,为什么呢?我认为,是对战略项下的策略没有研究好,没有执行前的策划和谋略,或者说,策划起来草率些,谋略起来简单些。所以,把“战略+执行”细分为“战略+策略+执行”,将会使我们的思路更清晰,将会使我们的战略步入快车道。
我们经常研究战略,实际上应该是经常检讨策略。在面临选择时,避免战略项下的盲动,管理层应做更多地思考。有些时候,管理层未做好恰当的策划和谋略,就会出现战略的执行不力。所以,将策略提出来研讨,将大家思想集中起来,第一步做什么,第二步做什么,什么时候进去,什么时候出来,什么时候我们可以暂时承担一时之亏损,什么时候改变模式弥补战略项下的一时亏损,都需要管理层深度思考和谋划。作出了恰当的选择,才能去推进执行。
战略是有策略的战略,执行是策略项下的执行;战略是本,策略是纲,执行是目。
战略不常变,策略会时常调整,执行更是千变万化;没有战略,策略和执行就成为无本之目;没有策略,战略就挂在墙上,没有策略,执行就只知干活。策略是战略与具体执行之间必不可少的环节。
今天我们讲的内部协同,这是一个战略思考,大家都会认同,都会打起精神去执行领导的要求。但有些时候,真的是停留在领导的要求下,或者盲目去执行领导要求。譬如,我们见到万家的同事时,经常谈到我们的产品能否摆在万家的货架上,万家的同事说“好啊”。分手时说保持联系,看如何干。分手后,就没有下文。再见面时,上次说的话又说一遍,时间长了,再也不说了。我认为这里面就缺乏策划,所以没有执行。
又譬如,我们有些事情是“求”我们的客户(如用户、政府、金融等部门),但一味的去“求”,可能收效一般。如果经过策划,既使事情朝着我们的预期发展,同时,对方还感觉到事情已体现出我们的支持,这有多好,这就是真正的双赢。
再譬如,我们收购目标企业,这既符合战略要求,同时内部资源或集团资源又能满足并购后的发展所需。目标企业得知后非常积极,乃至于地方政府都会出面表示,华润收购后,政府提供什么样的支持等,由于地方政府与目标企业的策划,我们又可能缺乏精心细致的策划,而“落入”对方的“策划圈”,最后导致我们的战略实施受阻。上面定了可以干,但上面不会去定如何干,最后由于策略欠妥我们没能干好,上面还可能检讨是否定错了,其实非也。既非上面定错了,也非我们不努力,而是我们没有去认真策划,认真选择、认真谋略。
所以,策略比具体执行更重要,甚至于比战略更重要。急于求成,不考虑风险,再好的具体执行,战略就成了误导。精心策划、认真谋略,我们的目标就离我们不远了。
文档为doc格式