美文网首页
策略模式精髓

策略模式精髓

作者: 理想是一盏灯 | 来源:发表于2018-07-17 09:06 被阅读3次

    应用场景

    项目中,如果遇到这种需求,根据一些条件不同,行为也不同。比如计税业务,根据国家的不同,计税方式不同。行为在某些场景下是需要相互替换的。这样就需要把变化的部分进行封装,这就是策略模式的应用场景。最简单的判断方式就是代码中有大量的if else 或者switch case,而且这些分支在未来还是可以增加的。这就非常需要用策略模式。不然不符合开闭原则。

    设计思想

    定义一个抽象类或者接口,声明变化的行为方法,让不同场景的子类去实现该方法。这样客户端调用时只需要引用这个父类,而不需要依赖具体的实现类,从而实现在不同的场景下,创建不同的子类,赋值给父类的引用,调用子类的行为。这样就实现了晚绑定,也符合开闭原则,如果需求新增加一个行为,只需要新增一种该场景下的子类,实现父类的行为方法即可。

    相关文章

      网友评论

          本文标题:策略模式精髓

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