不一样的策略模式

2020-10-29  本文已影响0人  我还是老油条

业务需求:

根据不同课程执行不同的逻辑,将来课程类型还会不断增加

理论上,应该在数据库建立type字段,根据不同的type

执行不同的逻辑,但是会有if -else,将来添加课程,需要

修改if-else内容,违反开闭原则,所以考虑使用策略模式进行扩展

直接上代码:

先定义一个课程handler接口

ai课具体实现

艺术课具体实现

课程实体,别的字段自己添加,我这里只需要type

添加一个注解,来区分类型

类型枚举

这块比较重要:

在spring启动的时候,将类型和对应的类都添加到map中

最后提供一个根据类型获取类的方法

实际调用:

返回结果

大功告成!!!!

上一篇 下一篇

猜你喜欢

热点阅读