문제
다음은 디자인 패턴에 대한 설명이다. 괄호안에 알맞는 답을 작성하시오.
( 1 )은/는 기능을 처리하는 추상화 계층과 실제 구현을 담당하는 구현 계층을 분리하여, 두 계층이 독립적으로 변경될 수 있도록 하는 패턴이다. 구현뿐 아니라 추상화도 독립적인 확장이 필요할 때 사용한다. 기능 계층과 구현 계층을 연결하는 다리 역할을 하며, 기능 확장과 구현 변경을 서로 분리할 수 있다.
( 2 )은/는 한 객체의 상태가 변화하면 그 객체에 의존하는 다른 객체들에게 변화된 상태를 전달해주는 패턴이다. 일대다 관계를 가지며, 주로 분산된 시스템 간에 이벤트를 생성·발행(Publish)하고, 이를 수신(Subscribe)해야 할 때 이용한다.
정답
- Bridge
- Observer
해설
기능(추상화)과 구현을 분리해 두 계층이 독립적으로 변경되도록 하는 구조 패턴은 브리지(Bridge)이다. 한 객체의 상태 변화가 일대다로 의존 객체들에게 전파(발행-구독)되는 행위 패턴은 옵저버(Observer)이다.