소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 사례 방법을 정리한 패턴이다.
목적 ⇒ 생성 패턴
객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴
목적 ⇒ 구조 패턴
더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴
목적 ⇒ 행위 패턴
클래스나 객체들이 상호작용하는 방법과 역할 분담을 다루는 패턴
범위 ⇒ 클래스 패턴
클래스 간 관련성(상속 관계를 다루는 패턴), 컴파일 타임에 정적으로 결정
범위 ⇒ 객체 패턴
객체 간 관련성을 다루는 패턴, 런타임에 동적으로 결정