공부 학습

디자인 패턴 - 행동 디자인 패턴

Multitab 2022. 11. 8. 18:48
더보기
  • 생성 디자인 패턴
    • 싱글턴 패턴
    • 추상 팩토리 패턴
    • 팩토리 메소드 패턴
  • 행동 디자인 패턴
    • 템플릿 메소드 패턴
    • 상태 패턴
    • 반복자 패턴
    • 전략 패턴
    • 옵저버 패턴
  • 구조 디자인 패턴
    • 데코레이터 패턴
    • 프록시 패턴
    • 컴포지트 패턴
    • 어댑터 패턴
    • 퍼사드 패턴
  • 관계형 패턴
    • 브릿지 패턴
    • 책임 연쇄 패턴
    • 플라이웨이트 패턴
    • 인터프리터 패턴
    • 중재자 패턴
    • 메멘토 패턴
    • 프로토타입 패턴
    • 비지터 패턴

행동 디자인 패턴


템플릿 메소드 패턴

  • 추상 클래스를 통해 알고리즘의 골격을 정의하고 구체적인 알고리즘을 부분적으로 다시 정의 할수 있도록 제공하는 패턴
  • 일부 구현으로 인해 알고리즘의 구조를 변경하지 않아도 된다.

상태 패턴

  • 현재 상태에 따라 적절한 객체로 연결해주는 별도의 상태기계를 만들어 호출해주는 패턴
  • GoF 디자인 패턴 중 한개이다

반복자 패턴

  • 반복자를 사용하여 특정 컨테이너 내에 요소들을 접근하는 디자인패턴
  • 컨테이너로부터 알고리즘을 분리시켜 연속적 객체 접근을 간소화 해줌
  • 컨테이너에 특화되어 있기때문에 분리 불가능함

전략패턴 / 정책패턴

  • 런타임 중 알고리즘을 선택하게 할수 있는 패턴
  • 알고리즘을 사용하는 클라이언트와 독립적으로 다양하게 만들어 줌
  • GoF 디자인패턴 중 하나이다.

옵저버 패턴

Observersvg

  • 특정 객체의 상태가 바뀌면 옵저버 객체에게 신호를 보내고 자동으로 내용을 갱신하는 1:多 의존성
  • 일반적으로 등록, 제거 메소드가 존재하며 새로운 옵저버를 목록에 등록하고 후자는 목록에서 옵저버를 빼는 구조
  • 옵저버를 이용해 임의로 작동을 중지하거나 재개하는 기능으로 로드벨런싱을 구현할 수 있음