2010-11-24 5 views
1

나는 견고한 GUI 프로그래머가 아니기 때문에 다양한 이벤트 아키텍처를 이해하려고합니다. 나는 몇 가지 맞춤 이벤트를 소개하는 시스템 (GWT에서,하지만 그게 중요하지 않다)을 개발 중이다. 일반적으로 이벤트를 만들어 이벤트 버스에 발사하는 것이 좋은 습관입니까?이벤트가 스스로 발생해야합니까?

온라인 기사와 튜토리얼에 따라 컨트롤러 코드가 실제로 이벤트를 실행하지만 각 컨트롤러는 사용자 지정 이벤트를 발생시키는 코드를 복제해야합니다. 이벤트 자체에 fire() 메서드를 추가하면 해당 중복을 피할 수 있습니다.

이 작업의 장점/단점은 무엇입니까?

답변

1

이벤트 자체를 발생 시키려면 이벤트를 생성 할 때 EventBus 인스턴스를 이벤트에 삽입해야합니다.

new MyEvent(m_eventBus).fire(); 

을이 같은 코드를 재 작업하는 경우 :

MyEvent event = new MyEvent(); 
m_eventBus.fireEvent(event); 

가 다음에 어떤 논리 또는 참조를 넣어하지 않았을을이 컨트롤러 (하나의 newing까지 이벤트) 것을 의미 이벤트 인스턴스 내부의 서비스가 필요하지 않습니다. GWT를 사용하는 경우 HandlerManager 클래스는 이미 이벤트 버스를 구현합니다.

관련 문제