之前公司技术分享会时,一位大神分享了一个公司app内,canvas图谱的功能。使用工厂模式将所有需要用到的方法、对象封装好,听着惊为天人。想想如果是自己去做这个功能,感觉做的没有人家好~~技术没有人家那么强,那我们私底下就赶紧来学习!!
之前面试的时候,有一个面试官问我,你们公司做权限管理的时候,是如何设计的???
emmmmmm 然后我巴拉巴拉的一推,意思就是说公司后端有一章user表,然后系统做了个权限管理界面,选择莫个人,然后给这人加上什么什么权限,我们在开发的时候,通过后端抛出的全局接口,传入人员的id去获取这个人所拥有的权限..........好吧,当时我确实是这样回答的~~~但是很明显,面试官想知道的并不是这个。
策略模式:
指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。
比如我们要实现一个这样的权限管理:
1、超级管理员(superAdmin) 2、普通用户 (user) 3、外部人员(outsiders)等等
写法1: 最无脑的写法就是
if( xx === 'superAdmin'){
console.log("superAdmin")
}else if(xx === 'user'){
console