프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것으로 라이브러리나 프레임워크를 만드는 데 기초적인 원리가 된다.
생성패턴 : 객체 생성 방법이 들어간 디자인 패턴
싱글톤
구조패턴 : 객체, 클래스 등으로 큰 구조를 만들 때 유연하고 효율적으로 만드는 방법이 들어간 디자인패턴
행동패턴 : 객체나 클래스 간의 알고리즘, 책임 할당에 관한 디자인패턴