인프런 커뮤니티 질문&답변

섬세한 햄스터님의 프로필 이미지
섬세한 햄스터

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

MVC패턴과 MVP패턴 그리고 MVVM패턴 ★★★

Data binding과 옵저버패턴 차이

작성

·

469

0

안녕하세요 큰돌님! 항상 좋은 강의 감사합니다Mvvm패턴에서 Data binding으로 VM의 상태변화를 V에 업데이트하는데 문득 Data binding이 옵저버 패턴과 같은 것이 아닌가 하는 의문이 들었습니다. Data binding이 옵저버 패턴으로 구현하는 건가 싶기도 하고…두 개념의 차이점과 관계에 대해 알려주시면 감사드리겠습니다!

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 햄스터님 ㅎㅎ

Data binding이 옵저버 패턴으로 구현하는 건가 싶기도 하고

>> 이 말이 맞습니다.

둘은 다른 개념이며

데이터바인딩을 구현할 수 있는 디자인패턴 중 하나가 옵저버패턴이다라고 보시면 됩니다.

 

좀 더 자세히 설명하자면요.

데이터바인딩

데이터 바인딩은 보통 사용자 인터페이스(UI)와 애플리케이션내의 데이터와 연결한 것을 의미합니다. 크게 2가지가 있습니다.

1.양방향 데이터 바인딩: 데이터와 UI 요소가 서로를 반영하고 동기화합니다. 예를 들어, 사용자가 폼 필드를 변경하면 데이터 모델도 업데이트되고, 데이터 모델의 변경 사항이 UI에도 반영됩니다.

2.단방향 데이터 바인딩: 데이터 모델에서 UI로만 데이터가 흐릅니다. React에서의 단방향 데이터 흐름이 좋은 예입니다.

 

옵저버 패턴

옵저버 패턴은 주체, subject가 상태 변경을 감지하면, 다수의 관찰자 객체인 옵저버에게 자동으로 이를 알립니다. 옵저버 패턴은 주로 이벤트 핸들링 시스템, 데이터 변경 감지 시스템 등에서 사용됩니다.

 

둘의 차이점

작동 방식의 차이: 데이터 바인딩은 데이터와 UI 요소 사이의 동기화를 의미하는 반면 옵저버 패턴은 한 객체가 다른 객체들에게 상태 변경을 알리는 메커니즘을 의미합니다.



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


답변 감사합니다!!

섬세한 햄스터님의 프로필 이미지
섬세한 햄스터

작성한 질문수

질문하기