패턴의 진정한 가치는 ‘무엇을 피했는가’에 있다
우리는 패턴을 ‘이렇게 하면 성공한다’는 긍정의 지식으로 배운다. 하지만 그 이면에는 ‘저렇게 하면 망한다’는 수많은 부정의 경험이 압축되어 있다. MVC 패턴은 단순히 ‘잘 분리된 구조’라기보다, ‘코드가 다 엉켜서 유지보수가 불가능해지는 지옥’을 피하기 위한 집단 지성의 결정체이다.
실패를 읽는 법
- 패턴의 이름을 거꾸로 읽어라: ‘싱글톤’은 ‘다중 인스턴스로 인한 혼란’을 피하기 위한 것이다. ‘팩토리’는 ‘객체 생성 로직의 중복과 의존성 분산’을 피하기 위한 것이다. 패턴의 이름은 그 패턴이 해결한 ‘문제의 이름’이기도 하다.
- 패턴을 사용하지 않았을 때의 시나리오를 상상하라: 패턴을 배울 때는 ‘성공 사례’보다 ‘실패 사례’를 먼저 공부하는 것이 더 효과적이다. “만약 이 패턴을 쓰지 않는다면, 어떤 끔찍한 일이 벌어질까?”라는 질문이 패턴의 가치를 극명하게 드러낸다.
이러한 관점은 단순히 패턴을 ‘암기’하는 것을 넘어, 문제 상황을 ‘패턴의 언어’로 재구성하는 능력을 길러준다.
연결되는 생각
- 20260613-essence-of-patterns: 패턴의 본질에 대한 더 깊은 논의.
- learning-from-failure: 실패로부터 배우는 구체적인 방법론과 사례.
- anti-patterns: 반복적으로 실패를 유발하는, 반면교사로서의 안티 패턴.