还是以经典的会员价格策略为依托场景;
一、首先加入maven依赖,此依赖用于扫描并获取特定含有特定注解的类
二、定义个一个自定义注解,用来定义并判断价格区间
三、写一个策略接口类,用于定义获取折后价格的抽象方法
四、写一个抽象类,用来实现策略接口中的方法,并且将公共的前置判断逻辑放在此抽象类中(此为模板设计模式),并定义好抽象方法calcPrice()让各自的策略类中去实现
五、各自的策略类:Ordinary(普通用户),Member(会员 6折),SuperMember(超级会员,4折),都需要继承公共的模板类AbstractPrice
六、写一个工厂类,所有的策略类将注入到这个类中进行统一管理
七、写一个上下文类,用于获取具体的策略类实例,并执行对应策略类实例的计算方法:
八:测试