프로그래밍을 하다 보면 반드시 라이브러리, 패키지, 모듈, 프레임워크 같은 것들을 사용합니다. 이 프로그래밍을 도와주는 도구들을 자유자재로 활용하려면 도구의 정확한 용도와 장단점, 핵심적인 특성, 사용시 주의사항 등을 제대로 파악하고 있어야 합니다.
라이브러리가 없다면 모든 프로그래머들이 시행 착오를 반복하면서 클래스나 함수, 메소드 등을 직접 만들어 프로그래밍 해야 합니다.
하지만 우리가 일상적으로 접하는 문제 중 사앙수는 다른 많은 이들이 접했던 문제이며, 효율적인 해결법이 나와 있습니다.
디자인 패턴은 프로그램을 개발하는 과정에서 빈번하게 발생하는 디자인 상의 문제를 정리해서, 상황에 따라 간편하게 적용해서 쓸 수 있는 패턴 형태로 만든 것입니다.