0
点赞
收藏
分享

微信扫一扫

【人工智能】机器学习 -- 决策树(乳腺肿瘤数)

以沫的窝 2024-07-24 阅读 23

 1、什么是策略模式

         将类中经常改变或者可能改变的部分提取作为一个抽象策略接口类,然后在类中包含这个对象的实例,这样类实例在运行时就可以随意调用实现了这个接口的类的行为

         比如定以一系列的算法,把每一个算法封装起来,并且使可以相互替换,使得算法可独立于使用它的客户而变化,这就是策略模式

2、代码 

促销活动

  环境类

public class CuXiaoContext {

    private CuXiao cuXiao;

    public CuXiaoContext(CuXiao cuXiao) {
        this.cuXiao = cuXiao;
    }
    //定义一个使用算法的方法
    public void use(){
        cuXiao.cuxiao();
    }
}

抽象策略类 

public interface CuXiao {
    void cuxiao();
}

具体策略类

   6.18 

public class SuanFa618 implements CuXiao {

    @Override
    public void cuxiao() {
        System.out.println("使用6.18的促销算法");
    }
}

  11.11

public class SuanFa1111 implements CuXiao{

    @Override
    public void cuxiao() {
        System.out.println("使用11.11的促销算法");
    }
}

 测试

public class CuXiaoTest {

    public static void main(String[] args) {
        //SuanFa618 suanFa618 = new SuanFa618();
        SuanFa1111 suanFa1111 = new SuanFa1111();
        CuXiaoContext context = new CuXiaoContext(suanFa1111);
        context.use();
    }
}

3、策略模式优缺点  

 4、策略模式使用场景

         1、如果在以一个系统里面又许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为

        2、一个系统需要动态地在几种算法中选择一种

        3、如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现

举报

相关推荐

0 条评论