서론
Observer pattern이 무엇인지, 사용하면 어떤 점이 좋은지 등을 알아봅니다.
Github repo 에서 아래에 사용된 예시 코드를 확인 하실 수 있습니다.
📚 TL;DR
📖 Observer Pattern 이란
- 옵저버 패턴에는 관찰 대상 ( Subject ) / 관찰자 ( Observer ) 가 있다.
- 각 관찰자에는, 관찰 대상의 상태가 변경 되었을 때 어떤 행동을 할 지 구현 해 둔다.
- 관찰 대상에는 관찰자를 등록 해 놓는다. 즉, 관찰자가 관찰 대상을 구독 ( Subscribe ) 하면, 관찰 대상에 관찰자를 등록 해 놓는다.
- 관찰 대상의 상태가 변경되면, 관찰자들에게 상태가 변경 되었음을 알린다 ( Notify / Update ... )
- 관찰 대상의 상태가 변경 되었을 때, 관찰자는 구현 해 놓은 행동을 진행한다.
📖 Observer Pattern을 사용 했을 때의 이점
- 관찰자 ( Observer ) 들간의 의존성을 떨어 뜨릴 수 있다.
- 관찰자 ( Observer ) 를 추가하는데 유연하게 대응 할 수 있다.
- 관찰 대상의 상태 변화에 따른 행동을 유연하게 처리 할 수 있다.
📚 Observer Pattern을 사용하지 않고 구현 한 경우
📖 상황 가정
아래의 조건을 만족시키는 UI를 구현 해야 하는 경우를 가정 해 봅시다.
-
유저는 숫자를 입력하거나 SeekBar 조절을 통해 투명도를 조절 할 수 있습니다.
-
유저가 투명도를 조절 할 때, 아래와 같이 이에 맞추어 각 UI가 변경 되어야 합니다. ( 투명도 입력 란의 글자 / SeekBar의 Percent / 검정색 네모의 투명도 / 투명도 수치 )
