zoukankan      html  css  js  c++  java
  • 【java设计模式】【行为模式Behavioral Pattern】策略模式Strategy Pattern

     1 package com.tn.策略模式;
     2 
     3 public class Client {
     4     private Strategy strategy;
     5     public void setStrategy(Strategy strategy){
     6         this.strategy=strategy;
     7     }
     8     public void exeAlgorithm() {
     9         strategy.exeAlgorithm();
    10     }
    11     
    12     public static void main(String[]args){
    13         Strategy strategy1=new ConcreteStrategy1();
    14         Strategy strategy2=new ConcreteStrategy2();
    15         Strategy strategy3=new ConcreteStrategy3();
    16         
    17         Client c=new Client();
    18         
    19         c.setStrategy(strategy1);
    20         c.exeAlgorithm();
    21         
    22         c.setStrategy(strategy2);
    23         c.exeAlgorithm();
    24         
    25         c.setStrategy(strategy3);
    26         c.exeAlgorithm();
    27     }
    28 }
    29 interface Strategy{
    30     void exeAlgorithm();
    31 }
    32 class ConcreteStrategy1 implements Strategy{
    33     @Override
    34     public void exeAlgorithm() {
    35         System.out.println("执行算法1……");
    36     }
    37 }
    38 class ConcreteStrategy2 implements Strategy{
    39     @Override
    40     public void exeAlgorithm() {
    41         System.out.println("执行算法2……");
    42     }
    43 }
    44 class ConcreteStrategy3 implements Strategy{
    45     @Override
    46     public void exeAlgorithm() {
    47         System.out.println("执行算法3……");
    48     }
    49 }
  • 相关阅读:
    Python-环境配置
    Linux操作系统基
    BZOJ 1572 贪心(priority_queue)
    POJ 3040 贪心
    POJ 3039 搜索??? (逼近)
    POJ 2433 枚举
    BZOJ 1571 DP
    BZOJ 1232 Kruskal
    BZOJ 1231 状压DP
    POJ 2430 状压DP
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/6838024.html
Copyright © 2011-2022 走看看