디자인 패턴(Design Pattern)은 대부분의 사람들에게 알려져 있는, 반복적으로 사용되는 코드 디자인 경험을 분류하고 정리한 집합입니다. 디자인 패턴을 사용하는 목적은 코드를 재사용하고, 다른 사람이 코드를 더 쉽게 이해할 수 있도록 하며, 코드 신뢰성을 보장하는 것입니다. 디자인 패턴이 우리 자신과 다른 사람, 그리고 시스템 모두에게 윈윈(win-win)이라는 것은 의심의 여지가 없습니다. 디자인 패턴은 코드 작성을 진정한 엔지니어링으로 만듭니다. 디자인 패턴은 건물의 구조와 마찬가지로 소프트웨어 엔지니어링의 초석입니다.