clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Q
  • ㅅ
  • uikit
  • Swift

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

IOS

IOS - ObserverPattern

2022. 2. 19. 17:08

옵저버패턴:

- 한 Object의 상태가 바뀌면 그 Object를 구독하는 다른 객체들에 연락이 가고 자동으로 내용이 갱신되는 디자인 패턴으로 1:N의 관계를 정의함.

- 관찰중인 객체에서 발생하는 이벤트를 여러 다른 객체에 알리는 메커니즘을 정의할 수 있는 디자인패턴.

- 다른 객체의 상태가 변경될 때 마다 어떤 이벤트를 실행하고 싶을 때 주로 사용.

- 주로 MVC패턴에서 사용.

- Model은 ViewController의 타입에 대해 알 필요 없이 상태가 변경될 때 마다 이를 ViewController에 전달.

- 여러개의 ViewController가 하나의 Model의 변경사항을 사용할 수 있게 됨.

 

 

디자인 패턴들은 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합되는 디자인을 사용해야 함.

느슨한 결합:

- 두 객체가 상호작용을 하지만, 서로에 대해 잘 모른다는점

- 인터페이스를 이용하여 객체간 느슨한 결합이 가능

- 상속을 통한 구현이 아닌 구성을 이용해야함.

 

Object - 구독의 대상.

Observer - 구독의 대상을 구독할 집단으로 인터페이스로 묶인다.

- Object는 Observer들의 정보를 구체적으로 알 필요 없이 정보 전달을 할 수 있다.

- Observer는 Object들의 정보를 구체적으로 알 필요 없이 구독을 할 수 있다.

 

1. 구독을 할 수 있다.

2. Object에서 이벤트가 발생해서 Observer들에게 값이 전달되고 알림이 간다.

3. 구독해제도 할 수 있다.

 

 

저작자표시 비영리 동일조건 (새창열림)
    'IOS' 카테고리의 다른 글
    • IOS - URL Session을 이용한 HTTP통신
    • IOS - Timer
    • IOS - NotificationCenter
    • IOS - addTarget, @objc
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바