일부 기능을 특정 이벤트에 바인딩하고 다른 기능이 특정 이벤트를 호출 할 수 있도록 기본 동작 엔진이 필요한 프로젝트 작업 중입니다. Wordpress Hooks 시스템처럼 (필터가없는 경우 제외).조치 엔진을위한 구조
저는 Wordpress를 복사 할 수 있다는 것을 알고 있지만 생각에 대한 설명을 원합니다. 이 프로젝트는 상당히 커질 것이며 현재 1200 개 이상의 이벤트와 2,000 개 이상의 콜백이 해당 이벤트에 묶여있을 것이며 그 수치는 증가 할 것입니다.
A)
이 모든의 저장소 역할을 할 자신의 기능/세트 정적 기능을 하나의 클래스 유무 : 그래서, 그것은 (성능면에서)에 최선을 다 할 것입니다 바인딩 및이 기능
B) 응용 프로그램 기능을 바인딩하거나, 전화 할 때
이 기능을 포함하는 클래스를 구축, 이에 대한 유일한 인터페이스입니다 이벤트를 사용하려면 인스턴스가 사용되는 특정 이벤트가 포함 된 인스턴스화 된 Event 객체에 액세스해야합니다 (아직 글로벌 레지스트리에 포함되어 있으며 아직 결정되지 않았습니다).
그래서, 내 질문은, B
, (작은 그룹으로 이벤트를 나누어)보다 성능이 좋은 것 또는 A
이 경우에는 충분한 것입니까?
글쎄, A와 B는 바인딩 구조를 모든 콜백 (및 우선 순위) 목록이있는 중첩 배열 인'$ _bindings [$ eventName]'형식으로 배열 구조에 저장합니다. 처음에는 각 Event를 자체 클래스로 선언 할 생각은 없었지만 실행시에는 필요한 관련 핸들러 클래스 만 사용하는 것이 좋습니다. 하지만 훌륭해 보이네. 고마워. – topherg