开发模式之策略模式(使用场景:权限管理)

本文探讨了在权限管理系统中如何应用策略模式,避免过度使用if-else结构,提高代码可维护性和复用性。通过实例说明了策略模式在处理不同角色(如超级管理员、普通用户、外部人员)权限时的优势,并指出在各策略相互独立、逻辑复杂且需要灵活组合的情况下,策略模式是一个理想的选择。
摘要由CSDN通过智能技术生成

之前公司技术分享会时,一位大神分享了一个公司app内,canvas图谱的功能。使用工厂模式将所有需要用到的方法、对象封装好,听着惊为天人。想想如果是自己去做这个功能,感觉做的没有人家好~~技术没有人家那么强,那我们私底下就赶紧来学习!!

之前面试的时候,有一个面试官问我,你们公司做权限管理的时候,是如何设计的???

emmmmmm   然后我巴拉巴拉的一推,意思就是说公司后端有一章user表,然后系统做了个权限管理界面,选择莫个人,然后给这人加上什么什么权限,我们在开发的时候,通过后端抛出的全局接口,传入人员的id去获取这个人所拥有的权限..........好吧,当时我确实是这样回答的~~~但是很明显,面试官想知道的并不是这个。

策略模式: 

       指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。

比如我们要实现一个这样的权限管理:

1、超级管理员(superAdmin) 2、普通用户 (user) 3、外部人员(outsiders)等等

写法1: 最无脑的写法就是 

if( xx === 'superAdmin'){
   console.log("superAdmin")
}else if(xx === 'user'){
    console
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值