1:策略模式

运行时根据条件的不同使用不同的策略处理一个事情。

1:创建策略类

public interface MemberStrategy {

       public double calcPrice(double booksPrice);

}

2:创建不同的策略处理对象

public class AdavaceMember implements MemberStrategy{

          @Override

           public double calcPrice(double booksPrice) {

                       System.out.println("对于高级会员的折扣为50%");

                           return booksPrice*0.5;

                  }

}

public class MediumMember implements MemberStrategy{

           @Override

             public double calcPrice(double booksPrice) {

                    System.out.println("对于高级会员的折扣为60%");

                         return booksPrice*0.6;

                   }

}

3:定义具体的场景

public class Price {

   private MemberStrategy ms;

   public Price(MemberStrategy ms){

      this.ms=ms;

   }


//场景里面也具备了策略里面的方法

public double quote(double  booksPrice){

    return this.ms.calcPrice(booksPrice);

   }

}

4:测试

public class Price {

   private MemberStrategy ms;

   public Price(MemberStrategy ms){

              this.ms=ms;

  }

  public double quote(double  booksPrice){

            return this.ms.calcPrice(booksPrice);

             }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,160评论 19 139
  • 1 场景问题# 1.1 报价管理## 向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的...
    七寸知架构阅读 10,553评论 9 62
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,499评论 18 399
  • 《远方》 远方可以看见,却不能触摸这多么奇妙 《音乐》 一只蚂蚁伸出小手拨动一枚沙粒就像拨动大地的琴弦 而如今沙粒...
    远方的河阅读 2,656评论 0 2
  • 希区柯克是一位导演,同时也是编剧。虽然他的电影没有获得许多奖项,但是他是公认的悬念大师。《希区柯克》收录了大部分希...
    简妮看世界阅读 3,916评论 0 1

友情链接更多精彩内容