设计模式之策略模式

策略模式定义:定义了算法族,分别封装起来,让他们之间可以互相替换,让算法的变化独立于使用算法的客户。

策略模式使用背景:一个父类或者基类,有若干子类。现在需要添加一个功能,但是对于不同的子类,功能逻辑有些不同,有些相同,还有些不需要添加这个功能。

策略模式使用场景:

1.不能直接在基类或者父类中添加算法供子类使用,因为不同的子类,可能对算法的需求不一样。

2.不能在基类或者父类中添加算法,然后在子类中override基类或者父类的算法,因为有些子类对算法的需求一样,会导致有大量重复代码。

3.不能把算法族定义成接口,让子类去实现,这样重复的代码会更多。

4.通过定义算法族的方式,把各种算法封装起来,在使用算法的客户中,随意组合,这样可以实现运行时改变算法逻辑,也避免了代码的重复。

posted @ 2020-03-18 11:10  风之影0023  阅读(94)  评论(0)    收藏  举报