설계/철학
2024. 2. 8.
프로그램 이벤트를 효과적으로 관리하는 방법
이벤트(Event)는 특정 행동이나 프로그램의 논리에 의해 수행된 결과로 발행되는 메시지이다1. 이벤트는 보통 객체, 또는 프로그램의 어떠한 행동 시작을 알리거나, 특정 상황일 때 수행되도록 하는 메시지 장치 중 하나로 사용된다. 일반적으로 선언된 곳 이외의 장소에서 호출되지 않는 것을 원칙으로 하며, 자기 자신의 변화에만 호출될 수 있도록 한다. 그러나 이 개념을 확장시킨 재밌는 방법이 있다. 대충 5년 전, BBI(Blackbird Interactive, 그 유명한 홈월드 개발사이다)에서 개발한 코드를 볼 기회가 있었는데, 재밌었던 부분 중 하나가 (지금 내 기억이 맞는다면) 스레드와 시스템 단위로 구분된 이벤트 관리자였다. 이 이벤트 관리자는 시스템마다 생성되어 국지적으로 이벤트를 발생시킬 수 있고..