발신자를 지우면 추적할 단서도 같이 지워진다
이벤트 버스는 알리는 쪽과 듣는 쪽이 서로를 모르게 만듭니다. 결합은 더 느슨해지지만 이 이벤트를 누가 보냈는지 찾는 일이 어려워집니다.
버튼은 누가 듣고 있는지 몰라도 된다
반응이 늘 때마다 버튼을 고치는 대신 반응이 스스로 등록하게 합니다. C# 의 event 가 이미 그 구조라, 배우는 게 아니라 이름을 붙이는 일에 가깝습니다.
무엇을 쓸지는 부르는 쪽이 아니라 등록하는 쪽이 정한다
서비스 로케이터는 싱글톤에서 전역 접근은 남기고 구현만 떼어냅니다. 갈아 끼울 수 있게 되는 대신 컴파일 에러가 런타임 에러로 밀립니다.
어디서든 부를 수 있다는 것은 어디서나 묶인다는 뜻이다
싱글톤은 유일성과 전역 접근 두 가지를 한꺼번에 보장합니다. 편한 것은 두 번째인데 대가도 전부 두 번째에서 나옵니다.
값이 없다는 것도 상태다
null 은 0이 아니라 가리키는 대상이 없는 것입니다. 없을 수 있다는 사실을 타입에 적어 두면 컴파일러가 봐 줍니다.