장점만 외운 사람과 오류 은닉 리스크까지 같이 보는 사람을 가르는 질문이다. 적용 조건과 비적용 조건을 모두 들고 나오는지가 핵심이다.
널 오브젝트 패턴은 객체가 없는 상황에서 null을 넘기는 대신 같은 인터페이스를 구현한 무동작 객체를 끼워 넣어 호출부 분기를 없애는 기법이다. 호출자는 null 검사 없이 동일하게 메시지를 보내기 때문에 코드 흐름이 단순해진다. 다만 아무 동작도 하지 않는다는 특성상, 빠르게 터져야 할 실패까지 같은 자리에서 가려진다. 그래서 도메인 의미상 '아무것도 하지 않음'이 유효한 자리에만 쓴다.
반복되는 null 체크가 호출부를 어지럽혀 패턴을 도입했던 경험이 있다면 그때 어떤 도메인 의미였는지와 연결할 수 있다
실패가 가려져 장애 추적이 늦어진 경험이 있다면 널 오브젝트 자리에 로깅·메트릭을 같이 둔 이유로 풀 수 있다
팀에서 패턴 적용 기준을 두고 의견이 갈렸던 경험이 있다면 본인이 어떤 기준으로 가르자고 했는지를 답에 녹일 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.