zoukankan      html  css  js  c++  java
  • java设计模式--策略模式

    首先,说几条书中提到的设计原则

    1.把应用中可能变化的独立出来,不要和不需要变化的代码混在一起

    2.针对接口编程,而不是针对实现编程

    3.多用组合,少用继承

    参考连接:https://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html

    因为目的主要是自己学习,所以上面会放上比较好的文章链接

    1.创建计算抽象类

    public interface CalculationStrategy {
    public int result(int a,int b);
    }

    2.实现求乘积

    public class Product implements CalculationStrategy {
    @Override
    public int result(int a, int b) {
    return a * b;
    }
    }

    3.实现求和

    public class Sum implements CalculationStrategy {
    @Override
    public int result(int a, int b) {
    System.out.print("求和");
    return a + b;
    }
    }

    4.计算类

    public class Calculation {
    private CalculationStrategy calculationStrategy;

    public Calculation(CalculationStrategy calculationStrategy){
    this.calculationStrategy = calculationStrategy;
    }

    public int calculation(int a, int b){
    return this.calculationStrategy.result(a,b);
    }
    }

    5.运行

    public class Client {
    public static void main(String[] args) {
    //选择需要的策略对象
    CalculationStrategy calculationStrategy = new Sum();
    //创建环境
    Calculation calculation = new Calculation(calculationStrategy);
    //计算
    System.out.print(calculation.calculation(1,2));
    }
    }
  • 相关阅读:
    61. Rotate List
    60. Permutation Sequence
    59. Spiral Matrix II
    57. Insert Interval
    18多校8th
    2019山东省赛总结
    二分图——poj2239
    二分图匹配——poj1469
    二分图——poj2446匈牙利算法
    思维构造,建图——cf1159E
  • 原文地址:https://www.cnblogs.com/leavesss/p/9955446.html
Copyright © 2011-2022 走看看