방프리
23.07.25 Chapter2. API 설계 (Item 20) 본문
Item 20 : 이벤트가 런타임 시 객체 간의 결합도를 증가시킨다는 것을 이해하라
이벤트는 구독자를 통해서 한 번에 여러 동작을 동시에 할 수 있다는 점에서 굉장히 유용하다
하지만 이는 자칫 잘 못 사용하면 하나의 이벤트에 여러 구독자가 뒤섞이면서 관리 차원에서
문제가 발생할 수도 있다는 뜻이다.
특히 런타임 때 이벤트 구독이 엮인다면? Dispose될 때 처리까지 완벽하게 이루어져야 한다.
개발자가 어느 이벤트를 구독시킬건지만 명확하게 한다면?, 또는 하나의 이벤트에 하나의 구독자만
구독하게 규칙을 정한다면 굉장히 유용할 것 같다.
다만... 런타임 때 이벤트 구독을 시키는 것은 Dispose처리를 명확하게 할 수 있거나
그 시점을 명확하게 조절할 수 있다면 사용해도 무방할 것 같다.
(ex. 싱글톤 인스턴스에서 이벤트를 명시 후 한 번 등록한 구독자를 프로그램이 종료될 때까지 해지하지 않을 때)
'C# > More Effective C#' 카테고리의 다른 글
23.11.12 Chapter2. API 설계 (Item 22) (0) | 2023.11.12 |
---|---|
23.08.20 Chapter2. API 설계 (Item 21) (0) | 2023.08.20 |
23.06.20 Chapter2. API 설계 (Item 19) (0) | 2023.07.15 |
23.06.11 Chapter2. API 설계 (Item 18) (0) | 2023.06.11 |
23.06.08 Chapter2. API 설계 (Item 17) (0) | 2023.06.08 |
Comments