CodeGym /Java Blog /무작위의 /Java의 디자인 패턴 [1부]
John Squirrels
레벨 41
San Francisco

Java의 디자인 패턴 [1부]

무작위의 그룹에 게시되었습니다
이것은 Java의 디자인 패턴에 대한 짧은 기사입니다. 패턴 구현은 없으며 각각에 대한 간략한 설명과 함께 Java의 패턴 목록만 있습니다. 해당 주제에 이미 익숙한 사용자에게는 검토 및 요약으로 도움이 될 것입니다. 반대로, 처음으로 패턴에 대해 배우는 사람들은 더 깊이 파고들기 전에 주제에 대한 초기 개요로 여기에서 도움이 될 것입니다. Java의 디자인 패턴 [1부] - 1 디자인 패턴자주 발생하는 프로그래밍 작업을 위해 바로 사용할 수 있는 솔루션입니다. 프로젝트에 연결할 수 있는 클래스나 라이브러리가 아닙니다. 더 많은 것입니다. 각 작업에 적합한 디자인 패턴은 각각의 특정 사례에 구현됩니다. 디자인 패턴을 잘못 적용하거나 적절하지 않은 작업에 적용하면 디자인 패턴이 많은 문제를 일으킬 수 있음을 기억해야 합니다. 그러나 적절하게 적용된 패턴은 작업을 쉽고 간단하게 완료하는 데 도움이 될 수 있습니다.

패턴 유형:

  • 창조
  • 구조적
  • 행동
생성 패턴은 초기화 메커니즘을 제공하여 편리한 방법으로 객체를 생성할 수 있도록 합니다. 구조 패턴은 클래스와 개체 간의 관계를 정의하여 함께 작동할 수 있도록 합니다. 행동 패턴은 엔터티 간의 상호 작용을 단순화하는 데 사용됩니다.

창조:

  • Singleton — 클래스 생성을 단일 인스턴스로 제한하고 해당 단일 인스턴스에 대한 액세스를 제공합니다.

  • Factory — 여러 하위 클래스가 있는 상위 클래스가 있고 입력을 기반으로 하위 클래스를 반환해야 할 때 사용됩니다.

  • 추상 팩토리 — 슈퍼 팩토리를 사용하여 팩토리를 생성한 다음 객체를 생성하는 데 사용합니다.

  • 작성기 — 간단한 개체를 사용하여 복잡한 개체를 만드는 데 사용됩니다. 작고 단순한 개체에서 점차 큰 개체를 만듭니다.

  • 프로토타입 — 복제 개체를 생성할 때 성능을 향상시키는 데 도움이 됩니다. 새 개체를 만드는 대신 기존 개체의 복제본을 만들어 반환합니다.

구조상:

  • 어댑터 — 호환되지 않는 두 개체 간의 변환기입니다. 어댑터 패턴을 사용하여 호환되지 않는 두 인터페이스를 결합할 수 있습니다.

  • 복합 — 하나의 클래스를 사용하여 트리 구조를 나타냅니다.

  • 프록시 — 다른 클래스의 기능을 제공합니다.

  • 플라이웨이트 — 비슷한 개체를 많이 만드는 대신 개체를 재사용합니다.

  • Facade — 인터페이스를 사용하여 시스템과 상호 작용하는 클라이언트용 간단한 인터페이스를 제공합니다.

  • Bridge — 특정 클래스를 인터페이스를 구현하는 클래스와 독립적으로 만듭니다.

  • 데코레이터 — 구조에 묶이지 않고 기존 객체에 새로운 기능을 추가합니다.

행동:

  • 템플릿 방법 — 기본 알고리즘을 정의하고 자손이 전체 구조를 변경하지 않고 알고리즘의 일부 단계를 재정의할 수 있도록 합니다.

  • 중재자 — 서로 다른 클래스 간의 모든 통신을 처리하는 중간 클래스를 제공합니다.

  • 책임 사슬 — 요청 발신자와 수신자 간의 엄격한 의존성을 피할 수 있습니다. 또한 여러 개체에서 요청을 처리할 수 있습니다.

  • 관찰자 — 한 개체가 다른 개체에서 발생하는 이벤트를 모니터링하고 응답할 수 있습니다.

  • 전략 — 런타임에 전략(알고리즘)을 변경할 수 있습니다.

  • 명령 — 특정 작업을 수행하기 위한 메서드를 선언하는 인터페이스입니다.

  • 상태 — 개체가 상태에 따라 동작을 변경할 수 있습니다.

  • 방문자 — 관련 개체 그룹에 대한 작업을 단순화하는 데 사용됩니다.

  • 해석기 — 문제 영역에서 간단한 언어에 대한 문법을 ​​정의합니다.

  • Iterator — 기본 형식을 알지 못한 채 컬렉션의 요소에 순차적으로 액세스합니다.

  • Memento — 개체의 상태를 저장하는 데 사용됩니다. 이 상태는 나중에 복원할 수 있습니다.

CodeGym 과정을 진행하면서 이 목록에 있는 몇 가지 패턴을 보게 될 것입니다. 패턴에 대해 다음과 같은 작업을 권장합니다: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... 디자인 패턴을 현명하게 사용하면 보다 안정적인 코드 유지 관리가 가능합니다. 디자인 패턴은 일반적인 문제에 대한 좋은 솔루션이라는 사실 외에도 , 다른 개발자가 이를 인식할 수 있으므로 특정 코드로 작업하는 데 필요한 시간이 줄어듭니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION