학습
📐소프트웨어 설계자주

디자인 패턴 — 행위

열한 개. 옵서버·전략·상태·템플릿 메서드가 특히 잦다.

옵서버는 한 객체가 바뀌면 그것을 보고 있던 것들에게 알린다.

전략은 알고리즘을 갈아 끼울 수 있게 따로 뺀다. 상태는 상태에 따라 행동이 바뀌는 것을 객체로 만든다.

템플릿 메서드는 큰 틀을 상위에서 정하고 일부를 하위가 채우게 한다. 커맨드는 요청을 객체로 만들어 큐에 넣거나 되돌릴 수 있게 한다.

나머지: 책임 연쇄·인터프리터·반복자·중재자·메멘토·방문자.

바꿔 내는 짝

전략(Strategy)상태(State)

둘 다 객체를 갈아 끼우지만, 전략은 '어떻게 할지'를 밖에서 고르고 상태는 '지금 무엇인지'에 따라 스스로 바뀐다.

시험에는 이렇게

행위 패턴이 11개라는 개수와, 옵서버·전략의 설명을 바꿔 내는 문제가 잦다.

실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.

확인 문제

이 개념은 실기에도 1문항 나옵니다. 고르는 것과 적는 것은 다르니 실기 탭에서 손으로도 한 번 적어 보세요.