![Java의 디자인 패턴 [1부] - 1](https://cdn.codegym.cc/images/article/241ebd47-d289-41b2-bcbe-d8722463fd43/800.jpeg)
패턴 유형:
- 창조
- 구조적
- 행동
창조:
-
Singleton — 클래스 생성을 단일 인스턴스로 제한하고 해당 단일 인스턴스에 대한 액세스를 제공합니다.
-
Factory — 여러 하위 클래스가 있는 상위 클래스가 있고 입력을 기반으로 하위 클래스를 반환해야 할 때 사용됩니다.
-
추상 팩토리 — 슈퍼 팩토리를 사용하여 팩토리를 생성한 다음 객체를 생성하는 데 사용합니다.
-
작성기 — 간단한 개체를 사용하여 복잡한 개체를 만드는 데 사용됩니다. 작고 단순한 개체에서 점차 큰 개체를 만듭니다.
-
프로토타입 — 복제 개체를 생성할 때 성능을 향상시키는 데 도움이 됩니다. 새 개체를 만드는 대신 기존 개체의 복제본을 만들어 반환합니다.
구조상:
-
어댑터 — 호환되지 않는 두 개체 간의 변환기입니다. 어댑터 패턴을 사용하여 호환되지 않는 두 인터페이스를 결합할 수 있습니다.
-
복합 — 하나의 클래스를 사용하여 트리 구조를 나타냅니다.
-
프록시 — 다른 클래스의 기능을 제공합니다.
-
플라이웨이트 — 비슷한 개체를 많이 만드는 대신 개체를 재사용합니다.
-
Facade — 인터페이스를 사용하여 시스템과 상호 작용하는 클라이언트용 간단한 인터페이스를 제공합니다.
-
Bridge — 특정 클래스를 인터페이스를 구현하는 클래스와 독립적으로 만듭니다.
-
데코레이터 — 구조에 묶이지 않고 기존 객체에 새로운 기능을 추가합니다.
행동:
-
템플릿 방법 — 기본 알고리즘을 정의하고 자손이 전체 구조를 변경하지 않고 알고리즘의 일부 단계를 재정의할 수 있도록 합니다.
-
중재자 — 서로 다른 클래스 간의 모든 통신을 처리하는 중간 클래스를 제공합니다.
-
책임 사슬 — 요청 발신자와 수신자 간의 엄격한 의존성을 피할 수 있습니다. 또한 여러 개체에서 요청을 처리할 수 있습니다.
-
관찰자 — 한 개체가 다른 개체에서 발생하는 이벤트를 모니터링하고 응답할 수 있습니다.
-
전략 — 런타임에 전략(알고리즘)을 변경할 수 있습니다.
-
명령 — 특정 작업을 수행하기 위한 메서드를 선언하는 인터페이스입니다.
-
상태 — 개체가 상태에 따라 동작을 변경할 수 있습니다.
-
방문자 — 관련 개체 그룹에 대한 작업을 단순화하는 데 사용됩니다.
-
해석기 — 문제 영역에서 간단한 언어에 대한 문법을 정의합니다.
-
Iterator — 기본 형식을 알지 못한 채 컬렉션의 요소에 순차적으로 액세스합니다.
-
Memento — 개체의 상태를 저장하는 데 사용됩니다. 이 상태는 나중에 복원할 수 있습니다.
더 읽어보기: |
---|
GO TO FULL VERSION