디자인 패턴

Corini·2022년 4월 30일
0

정처기

목록 보기
1/50

https://velog.velcdn.com/images/nezhitsya/post/7b131e57-c6b7-41af-9865-1fe5d391bb44/%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202021-03-19%20%EC%98%A4%ED%9B%84%202.04.48.png

디자인 패턴

GoF 디자인 패턴

생성패턴

객체를 생성하는데 관련된 패턴

Abstract Factory Pattern (추상 팩토리)

  • 구체적인 클래스에 의존하지 않고 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현

Builder Pattern (빌더)

  • 작게 분리된 인스턴스를 건축하듯 조합하여 객체 생성

Factory Method Pattern (팩토리 메소드)

  • 상위 클래스 - 객체 생성 인터페이스 정의
  • 하위 클래스 - 인스턴스 생성

Prototype Pattern

  • 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴

Singleton Pattern

  • 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만 여러 프로세스가 동시에 참조할 수 없다

구조패턴

클래스나 객체를 조합해 더 큰 구조를 만드는 패턴

Adapter Pattern

  • 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴

Bridge Pattern

  • 구현부에서 추상층을 분리하여 서로가 독립적으로 확장할 수 있도록 구성한 패턴

Composite Pattern

  • 여러 객체를 가진 복합 객체와 단일 객체를 구분없이 다루고자 할 때 사용하는 패턴
  • 객체들 간 관계를 트리구조로 구성하여 부분-전체 계층 표현

행동패턴

반복적으로 사용되는 객체들의 상호작용을 패턴화한 것

Chain of Responsibility Pattern (책임 연쇄)

  • 요청을 처리할 수 있는 객체가 둘 이상 존재하여 한 객체가 처리하지 못하면 다음 객체로 넘어가는 형태의 패턴

Command Pattern

  • 요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 패턴

Iterator Pattern

  • 자료구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴

Meditator Pattern

  • 수 많은 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의하는 패턴
  • 중재자를 둠

Memento Pattern

  • 특정 시점에서의 객체 내부 상태를 객체화함으로써 이후 요청에 따라 객체를 해당 시점의 상태로 돌릴 수 있는 기능을 제공하는 패턴

Observer Pattern

  • 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달하는 패턴

State Pattern

  • 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용하는 패턴

Strategy Pattern

  • 동일한 계열의 알고리즘들을 개별적으로 캡슐화하여 상호 교환할 수 있게 정의하는 패턴

Interpreter Pattern

  • 언어에 문법 표현을 정의하는 패턴

Template Method Pattern

  • 상위 클래스 - 골격을 정의
  • 하위 클래스 - 처리를 구체화

    Factory Method와 조심

Visitor Pattern

  • 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성하는 패턴
  • 각 클래스를 방문함
profile
Coding is playing!

0개의 댓글