프로그래밍 책을 보다 보면 모범 사례와 디자인 패턴에 관한 책이 가득하다. 그중 일부는 논쟁의 여지가 없어 보이고, 만약 누군가 책에 나온 내용에 대해 논쟁을 하려 든다면 모두가 그 사람에게 눈을 흘길 것처럼 느껴지기도 한다. 결국 이것은 신념처럼 변해버려 사람들이 내용을 의심 없이 받아들이게 한다. 누군가 블로그에 어떤 한 가지 주제로 글을 올리고, 그 글이 해커 뉴스1 커뮤니티에서 인정을 받는다면 이는 정당한 비판으로 받아들여지며 이를 통해 새로운 생각에 대한 문을 열 수 있다. 그렇지 않으면, 그 주제에 대해 토론조차 할 수 없다. 만약 내가 프로그래밍의 세계에 단 하나의 메시지만을 보낼 수 있다면 그것은 우리가 배우는 모든 것, 즉 그들의 유용성, 이유, 장점, 비용에 대해 의문을 품으라는 메시지일 것이다.
정설로 여기는 불변의 법칙은 우리에게 사각지대를 가져오고, 우리가 이 신념을 오래 고수할수록 사각지대의 크기는 더 커진다. 이러한 사각지대는 우리가 특정 사용 사례에 더 유용할 수 있는 기술을 찾지 못하게 만들 수 있다.
안티패턴, 즉 나쁜 관행을 사용한다면 당연히 안 좋은 소리를 들을 것이다. 하지만 그렇다고 방사성 물질처럼 이를 무조건 피해야 한다는 의미는 아니다. 지금부터 이 책에서는 모범 사례보다 더 도움이 되는 몇 가지 패턴을 검토할 것이다. 이렇게 하면 모범 사례와 우수한 디자인 패턴을 사용해 도움이 되는 경우와 도움이 되지 않는 경우를 더 잘 이해할 수 있을 것이다. 자신만의 사각지대에서 무엇을 놓치고 있는지, 그 안에 어떤 보석이 숨어 있었는지를 알게 될 것이다.