C#/C# 학습 (TIL)
C# 디자인패턴 : 템플릿메서드 / 옵저버패턴
jjiing
2022. 6. 21. 15:04
템플릿 메서드
전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 사용
즉, 전체적인 알고리즘은 상위 클래스에서 구현하면서 다른 부분은 하위 클래스에서 구현하는 것이다.
<예시>
드래곤의 전체적인 어택 알고리즘은 다 비슷하지만, 하위클래스별로 세부적으로 차이가 나는 부분만
하위클래스인 블루드래곤과 레드드래곤에서 재정의 해주는 예시이다,
옵저버 패턴
어떤 객체의 상태가 변할 때 그와 연관된 객체들에게 알림을 보내는 디자인 패턴
큰 구성도를 보자면, 이전에 올린 글인 이벤트 핸들러에서 다뤘던 그림인데
특정 이벤트가 발생했을때 이벤트핸들러가 작동하고,
그럼 그 이벤트핸들러를 구독하고 있는 이벤트리스너들이 동작하는 패턴이다.