首先什么是策略模式?它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的的客户。
各个类的定义如下:
抽象算法类:
具体算法类:
Context,用一个ConcreteStartegy来配置,维护一个对Strategy的指针
主类:
各个算法之间可以相互转换,我们也可以与简单工厂模式进行结合。例如这样:
首先什么是策略模式?它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的的客户。
各个类的定义如下:
抽象算法类:
具体算法类:
Context,用一个ConcreteStartegy来配置,维护一个对Strategy的指针
主类:
各个算法之间可以相互转换,我们也可以与简单工厂模式进行结合。例如这样: