디자인 패턴은 프로그래밍 설계할 때 발생하는 문제점들을 객체 간의 상호 작용 등을 활용해 해결할 수 있도록 '규약' 형태로 만들어 둔 것을 말한다. 이는 라이브러리나 프레임워크를 만드는 기초 원리로 활용되며, 현재도 많은 라이브러리와 프레임워크가 어떤 디자인 패턴을 기반으로 제작되고 있다.
예를 들어, 전략 패턴을 적용한 passport.js
라이브러리는 Passport.js 공식 사이트에서 확인할 수 있다.
디자인 패턴을 미리 학습해두면, 문제를 해결하는데 있어서 영감을 받을 수 있고, 팀원들과 협업할 때 "그 부분은 전략 패턴으로 해결하는 것은 어떨까?"라고 제안할 때 빠른 의사소통이 가능하다.
디자인 패턴은 크게 생성 패턴, 구조 패턴, 행동 패턴 세 가지로 나뉜다.
이외에도 flux 패턴, MVC 패턴, MVVM 패턴 등 다양한 디자인 패턴이 있으며, 중요한 몇 가지 디자인 패턴을 배우게 된다.