为了账号安全,请及时绑定邮箱和手机立即绑定

多个选择条件,当其中一个条件必须满足,其他条件任选其一,可以用策略模式么

有一个下载按钮,只对一部分人可见。

后台需要设计一个接口,告诉前端是否显示按钮

首先,有一个白名单控制,也就是登录IP在白名单IP范围内的,可以显示按钮

然后,判断登录人ID,是否满足在某个小组A中,可以显示

或者登录人属于某一机构B,也可以显示

针对此功能,我想设计成三种策略,策略A(在白名单内),策略B(在小组A中),策略C(属于机构B),这样合适么


正在回答

1 回答

策略模式主要是凸显组合方式比继承方式具有的优点,你分的三种策略应该是都要进行判断的,不像视屏中讲解的车子的轮胎只需要实现轮胎接口的一种轮胎实现类或是一种鸭子只需要实现飞行策略接口的一种飞行实现类。你的这种其实可以使用责任链模式,虽然与责任链关系不大,甚至最简单的实现方式就用if()else(),三种情况用||连接。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
模式的秘密--策略模式
  • 参与学习       32403    人
  • 解答问题       64    个

使用策略模式为你的应用提供弹性架构,还等什么呢,快来加入学习吧

进入课程

多个选择条件,当其中一个条件必须满足,其他条件任选其一,可以用策略模式么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信