我正在開發一個需要基本動作引擎的項目,以便某些函數可以綁定到某些事件,而其他函數可以調用某些事件。就像Wordpress Hooks系統(除了沒有過濾器)。動作引擎的結構
我知道我可以複製Wordpress的一個,但我想得到一些想法的澄清。這個項目將會變得相當龐大,目前將包含大約1200個活動和2000多個回調,以約束這些事件,這些數字將只會增長。因此,這將是最好的(在性能方面):
A)
具有靜態功能的單一類/一組自己的功能,這將作爲倉庫所有這些綁定,並且是用於此功能
B)
爲了構建含有函數的類,但是當應用程序要綁定的函數,或呼叫的唯一的接口事件,他們需要訪問(可能包含在全局註冊表中,尚未決定)包含特定事件的實例化的Event對象,根據使用哪個實例。
所以,我的問題是,將B
是更好的性能(通過瓜分事件成更小的羣體),或將A
在這種情況下,是否足夠?
好吧,A和B都會以'$ _bindings [$ eventName]'的形式將數組結構存儲在數組結構中,這是一個嵌套數組,其中包含所有回調(及其優先級)的列表。我最初並不想將每個Event都聲明爲自己的類,但是這可能會更好,因此在執行運行時,只需要相關的處理程序類。但是這看起來很棒,謝謝 – topherg