精妙绝伦的设计模式:策略模式+模板模式+工厂模式

还是以经典的会员价格策略为依托场景;

一、首先加入maven依赖,此依赖用于扫描并获取特定含有特定注解的类


二、定义个一个自定义注解,用来定义并判断价格区间


三、写一个策略接口类,用于定义获取折后价格的抽象方法


四、写一个抽象类,用来实现策略接口中的方法,并且将公共的前置判断逻辑放在此抽象类中(此为模板设计模式),并定义好抽象方法calcPrice()让各自的策略类中去实现


五、各自的策略类:Ordinary(普通用户),Member(会员 6折),SuperMember(超级会员,4折),都需要继承公共的模板类AbstractPrice




六、写一个工厂类,所有的策略类将注入到这个类中进行统一管理

七、写一个上下文类,用于获取具体的策略类实例,并执行对应策略类实例的计算方法:

八:测试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二十三种设计模式 - 策略模式 策略模式简介 模式动机 完成一项任务,往往可以有多种不同的方式,每一种方式称为一个...
    JustTheSame阅读 5,798评论 2 16
  • 今天真是神奇的日子。 早上上公开课的时候。我突然间看到看到许副,他是我原来读书的学校的副校长。我感觉我。上管乐团在...
    如山1997阅读 923评论 0 0
  • “每天你都有机会跟别人擦身而过,你也许对他一无所知,不过也许有一天他会变成你的朋友或者是知己。” 01 这个故事的...
    络文阅读 3,060评论 0 4