美文网首页
Strategy模式(行为型)

Strategy模式(行为型)

作者: 潭潭_180 | 来源:发表于2018-09-18 13:37 被阅读0次

    问题

    Strage模式和template模式要解决的问题是一样的,都是为了给业务逻辑(算法)具体实现和抽象接口之间的解耦。Strategy模式将逻辑(算法)封装到一个类里面,通过组合的方式将具体的算法的实现在组合对象中实现,再通过委托的方式将抽象接口的实现委托给组合对象实现。State模式也有类似的功能。

    结构图

    Strategy Pattern

    这里的关键就是将算法的逻辑抽象接口(doAction)封装到一个类Context中,再通过委托的方式将具体的实现算法交由Strategy实现类来实现。

    区别

     Strategy 模式很 State 模式也有相似之处, 但是 State 模式注重的对象在不同的状态下不同的操作。 两者之间的区别就是State 模式中具体实现类中有一个指向 Context的引用,而 Strategy 模式则没有。具体分析请参看相应的 State 模式分析中。

    相关文章

      网友评论

          本文标题:Strategy模式(行为型)

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