복사해서 붙여넣을 수 없는 마법의 설계도, 소프트웨어 디자인 패턴
디자인 패턴은 완벽한 코드가 아니라 문제를 해결하는 아이디어의 모음입니다. 똑같이 베껴 쓰는 것이 아니라 상황에 맞게 응용하는 유연한 가이드라인이기 때문입니다.
많은 이들이 디자인 패턴을 당장 가져다 쓰는 코드 조각이라고 오해하지만 사실은 철학에 가깝습니다. 경험 많은 개발자들이 수십 년간 고생하며 찾아낸 효율적인 문제 해결의 경로를 문서화해 둔 것이죠. 덕분에 언어나 플랫폼이 달라져도 같은 원리로 시스템을 설계할 수 있습니다. 이미 검증된 패턴을 익히는 것은 마치 레고의 조립 원리를 배우는 것과 같아서 더 복잡한 소프트웨어를 더 쉽게 만들 수 있게 해줍니다.