한때 소프트웨어 개발에서 모든 논의의 핵심은 디자인 패턴(Design Pattern)이었다. 개발자들은 밤을 세워가며 객체(Object), 응집도(Cohesion), 결합도(Coupling)에 대해 진지한 토론을 벌이기도 했다. 패턴이라고 하는 것은 일정한 형태나 양식 또는 유형을 의미한다. 소프트웨어를 설계할 때 패턴을 모르는 개발자는 자질(?)이 있는지 의심하는 정도의 분위기였다. 객체지향(Object-oriented)을 공부해야 하는 사람은 반드시 넘어야 할 산(山)이 디자인 패턴이었다. 그러나 어느 순간부터 개발현장에서 디자인 패턴을 논의하는 모습을 보기 어렵다. 디자인 패턴이 무엇인지 모르고 프로그래밍하는 개발자도 있다. 왜, 이런 현상이 발생하고 있을까? 국가에는 헌법이 있고, 기독교에는 성서..