这个问题可能比较概念性,想去这样去做。现在还没有去实施。自己在编程学习都是培训出来的。对于程序设计没有太系统的了解。
是这样的。考虑把函数分离开。然后用一个规则连接起来。考虑到兼容和异步所以打算使用回调函数的方式。固定函数头部。比如:
var relation = {
d1: ['d2','d3'],
d2: ['d4'],
d3: ['d5'],
d4: ['d6'],
....
}
var next = function(name, params) {
var next_steps = relation[name],
i = 0,
len = next_steps.length;
for (; i < len; i++) {
cache[next_steps[i]](params);
}
}
var cache = {
d1: function() {
// do some things
next(arguments.caller.name);
},
d2: function() {
// do some things
next(arguments.caller.name);
},
d3: function() {
// do some things
next(arguments.caller.name);
},
d4: function() {
// do some things
next(arguments.caller.name);
}
....
};
for (var key in cache) {
cache[key].name = key;
}
cache.d1();
这样去运行。由配置参数决定上下步骤。减少灵活性.将代码存取到数据库或各种存储结构。运行的时候可异步可同步缓存处理函数,这样运行在长时间运行中会不会造成内存问题,如果保证每个函数内没有新的变量生成的话会不会造成内存问题。