美文网首页
策略模式

策略模式

作者: zhaoyubetter | 来源:发表于2016-10-21 21:28 被阅读6次

    找出应用中,可能需要的变化的部分,将他们抽离出来,不和那些不需要变化的代码和混在一起;

    需要变化的一部分,我们用接口来表示,针对接口编程,而不是具体实现;

    如果某个类的某些行为会经常变化,如:交通工具的行为,自行车,摩托车,汽车,轮船等,他们的移动的行为是不一样的;
    所以对于交通工具这个抽象类,把会变化的移动行为封装成接口;

    再如:超市购物时候的折扣行为,把会变化的折扣行为封装成接口,用来满足不同购物金额对应的折扣需求;

    通过这样的组合方式,来实现继承的功能,我是交通工具,我有一个行为是移动方式;
    有一个比是一个更好

    定义#

    策略模式定义了算法组,并分别对其进行封装,让彼此之间可以互相替换,此模式让算法的变化独立于使用算法的客户之外;

    Paste_Image.png

    Context: 表示上下文对象,含有一个Strategy抽象策略;
    Strategy:表示策略类的抽象接口,这里有3个策略具体实例,并分别实现策略方法operate;
    具体使用时,Context最终调用的是策略抽象接口,实现了面向接口编程;

    相关文章

      网友评论

          本文标题:策略模式

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