我正在开发一个需要基本动作引擎的项目,以便某些函数可以绑定到某些事件,而其他函数可以调用某些事件。就像Wordpress Hooks系统(除了没有过滤器)。动作引擎的结构
我知道我可以复制Wordpress的一个,但我想得到一些想法的澄清。这个项目将会变得相当庞大,目前将包含大约1200个活动和2000多个回调,以约束这些事件,这些数字将只会增长。因此,这将是最好的(在性能方面):
A)
具有静态功能的单一类/一组自己的功能,这将作为仓库所有这些绑定,并且是用于此功能
B)
为了构建含有函数的类,但是当应用程序要绑定的函数,或呼叫的唯一的接口事件,他们需要访问(可能包含在全局注册表中,尚未决定)包含特定事件的实例化的Event对象,根据使用哪个实例。
所以,我的问题是,将B
是更好的性能(通过瓜分事件成更小的群体),或将A
在这种情况下,是否足够?
好吧,A和B都会以'$ _bindings [$ eventName]'的形式将数组结构存储在数组结构中,这是一个嵌套数组,其中包含所有回调(及其优先级)的列表。我最初并不想将每个Event都声明为自己的类,但是这可能会更好,因此在执行运行时,只需要相关的处理程序类。但是这看起来很棒,谢谢 – topherg