logo

디자인 패턴의 분류

디자인 패턴은 주로 세 가지 범주로 분류됩니다. 창조적 디자인 패턴, 구조적 디자인 패턴, 행동적 디자인 패턴. 이는 세부 수준, 복잡성 및 설계 중인 전체 시스템에 대한 적용 범위에 따라 서로 다릅니다.

또한 패턴에는 관용어 패턴과 아키텍처 패턴이라는 두 가지 유형이 있습니다. 하지만 이 튜토리얼에서는 이에 대해 탐색하지 않을 것입니다.

창조적인 디자인 패턴

이름에서 알 수 있듯이 기존 코드의 유연성과 재사용성을 향상시키는 개체 또는 클래스 생성 메커니즘을 제공합니다. 의존성을 줄이고 클래스와의 상호 작용 방법을 제어하므로 복잡한 구성을 처리하지 않아도 됩니다. 아래는 창작디자인 패턴의 다양한 디자인 패턴입니다.

추상공장- 구체적인 유형을 지정하지 않고도 객체를 생성할 수 있습니다.

빌더 - 복잡한 객체를 생성하는 데 사용됩니다.

팩토리 메소드 - 생성할 정확한 클래스를 지정하지 않고도 객체를 생성할 수 있습니다.

프로토타입 - 기존 개체에서 새 개체를 만드는 데 사용됩니다.

싱글톤 - 싱글톤 디자인 패턴은 객체의 인스턴스가 하나만 생성되도록 합니다.

자바의 문자열 길이

구조적 디자인 패턴

구조적 디자인 패턴은 주로 개체와 클래스를 더 큰 구조로 조립하여 이러한 구조가 유연하고 효율적이어야 함을 보장합니다. 코드의 가독성과 유지 관리성을 향상시키는 데 매우 중요합니다. 또한 기능이 적절하게 분리되고 캡슐화되었는지 확인합니다. 상호 의존적인 사물 간의 최소한의 인터페이스를 줄입니다.

어댑터 - 기존 클래스 중 하나를 인터페이스로 래핑하여 두 개의 호환되지 않는 클래스가 함께 작동하도록 제공합니다.

복합 - 개체 그룹을 단일 개체로 래핑합니다.

다리 - 두 클래스가 독립적으로 달라질 수 있도록 추상화를 분리합니다.

데코레이터 - 런타임에 개체 동작을 동적으로 확장합니다.

외관 - 더 복잡한 기본 개체에 대한 간단한 인터페이스를 제공합니다.

플라이급 - 복잡한 객체 모델의 비용을 줄입니다.

프록시 - 이는 비용을 절감하고 복잡성을 줄이며 액세스를 제어하기 위해 기본 개체에 대한 자리 표시자 인터페이스를 제공합니다.

동작 디자인 패턴

동작 디자인 패턴은 한 클래스가 다른 클래스와 통신하는 방식을 담당합니다.

책임 사슬 - 이는 처리 개체 체인에 대한 명령을 나타냅니다.

마두리가 말했다.

명령 - 매개변수의 동작을 캡슐화하는 개체를 생성합니다.

영화배우 카잘

통역사 - 특화된 언어를 구현합니다.

반복자 - 기본 표현을 위반하지 않고 객체의 모든 요소에 순차적으로 액세스합니다.

중재자 - 기존 메서드에 대한 자세한 지식을 가진 유일한 클래스가 됨으로써 클래스 간의 느슨한 결합을 제공합니다.

기념품 - 객체를 이전 상태로 복원합니다.

관찰자 - 이를 통해 여러 관찰자 개체가 이벤트를 볼 수 있습니다.

상태 - 내부 상태가 변경되면 객체의 동작을 수정할 수 있습니다.

전략 - 런타임 시 선택될 알고리즘 계열 중 하나를 제공합니다.

템플릿 방법 - 이를 통해 하위 클래스가 구체적인 동작을 제공할 수 있습니다. 또한 알고리즘의 골격을 추상 클래스로 정의합니다.

방문자 - 메소드의 계층 구조를 하나의 객체로 이동하여 객체 구조에서 알고리즘을 분리합니다.

다음 튜토리얼에서는 몇 가지 중요한 디자인 패턴을 배울 것입니다.