왜 알아야 하는가?
패턴을 사용하면 간단한 언어로 많은 얘기를 할 수 있습니다.
패턴 수준에서 이야기하면 '디자인'에 더 오랫동안 집중할 수 있습니다.
그럼 크게 많이 있는데, 선배가 알려주고, 중요하다고 말한 옵저버패턴과, 데코레이터패턴에 대해 알아보자.
옵저버 패턴
Subscriber 와 Listener 의 구조임.
이벤트가 일어나는 순간 옵저버가 반응할 수 있도록 하는 것.
ex) 알람이 울리면 가족들이 모두 일어나서 반응한다
ex) 택배가 오면 바로 받으러 간다.
1. Observer 인터페이스를 만듬 . ( update() 함수가 있어요. 이벤트가 나타나면 이에 반응하는 함수를 정해놓음.)
2.Event 를 정의함 . ( 이를 바라보는 옵저버들을 소유함) .list로 보관되는데, 이를 위해
addObserver() 있고, notify 함수를 가지고 있어요.
https://pjh3749.tistory.com/266
[디자인패턴] 옵저버 패턴 (Observer Pattern) 아주 간단하게 정리해보기
옵저버 패턴이란? 옵저버란 스타크래프트 프로토스의 유닛으로 적들을 관찰하기 위해 탄생한 유닛이다. 테란전에서 필수 유닛이며 옵저버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관
pjh3749.tistory.com
설명이 잘 되어 있다.
데코레이터 패턴
Decorator 뜻 : 장식하는 사람
기능을 마치 장식처럼 계속 추가할 수 있는 패턴.
데코레이터 패턴은 런타임에서 유연하게 객체의 기능들을 수정하고 조합하는데 유용하게 사용되는 패턴.
다만, 조합해야할 특징이 많다면 이어붙이는 데코레이터의 수까지 늘어나므로 가독성이 해치는 단점이 있습니다.
클래스 다이어그램 예시
https://steady-coding.tistory.com/391
위 글을 꼭 참조해보면서 따라해보길 바란다.
[디자인 패턴] 데코레이터(Decorater) 패턴이란?
안녕하세요? 제이온입니다. 저번 시간에는 상태 패턴에 대해서 알아 보았습니다. 오늘은 데코레이터 패턴을 설명하겠습니다. 데코레이터(Decorater) 패턴 데코레이터 패턴은 객체에 추가적인 요건
steady-coding.tistory.com
'TIL' 카테고리의 다른 글
Service에서 Service를 의존해도 될까? (0) | 2022.11.17 |
---|---|
Objects.requireNonNull 사용 이유 (0) | 2022.11.16 |
Scheduler vs Spring batch vs DB Procedure (0) | 2022.11.08 |
instanceof (0) | 2022.11.08 |
Annotation이란? (0) | 2022.11.08 |