在做TOP大赛的时候,我遇到过这样的问题。对于N个商品他们处理的方式不尽然相同(有M种处理方式)。
首先,我使用了很暴力的一个个函数写(switch语句),写完后发现代码太长太繁琐。当我要修改函数是,甚至发现找不到这个函数了。
于是我将这些函数写成了一个类,但是发现还是过长,最后想到了函数队列。
通过函数队列可以将,函数通过队列管理,也可以保持代码的高度重用性和简洁性。
1.设置 FunctionsArray 在Flex 中 Array实际带有queue的性质。
通过Array.push可以达到进队的效果。
2.设置orderArray 保存执行函数执行顺序。
如 : orderArray = [0,1,2];
意思就是执行的顺序为 functionsArray[0],functionsArray[1],functionsArray[2],
3.执行functionsArray。
当要改变执行顺序时,只需要改变orderArray的顺序。
当然通过调整functions数组也是可以达到目的的不过比较繁琐。
下面是自己写的Flex代码: