經(jīng)分析,得出如下結(jié)論:
Service: Function 與name為一對一的關(guān)系,可以憑借name在全局范圍內(nèi)調(diào)用function
Event: Event與 name為 1:1的關(guān)系,但是Event和Fucntion之間為n:1的關(guān)系。
每調(diào)用一次HookEvent(name, func)則將func加到名為name的event的隊(duì)列的末尾。
每調(diào)用一次CallHookSubscriber (int hookId,WPARAM wParam,LPARAM lParam) 則調(diào)用id為hookid的Event所關(guān)聯(lián)的所有函數(shù)。
通常,對于Event的調(diào)用時很少的,總集中在某代碼的某幾處。而對于HookEvent的調(diào)用則明顯多一些。
注:Event隊(duì)列和Subscriber隊(duì)列構(gòu)成二維列表。
Service: Function 與name為一對一的關(guān)系,可以憑借name在全局范圍內(nèi)調(diào)用function
Event: Event與 name為 1:1的關(guān)系,但是Event和Fucntion之間為n:1的關(guān)系。
每調(diào)用一次HookEvent(name, func)則將func加到名為name的event的隊(duì)列的末尾。
每調(diào)用一次CallHookSubscriber (int hookId,WPARAM wParam,LPARAM lParam) 則調(diào)用id為hookid的Event所關(guān)聯(lián)的所有函數(shù)。
通常,對于Event的調(diào)用時很少的,總集中在某代碼的某幾處。而對于HookEvent的調(diào)用則明顯多一些。
注:Event隊(duì)列和Subscriber隊(duì)列構(gòu)成二維列表。