프록시 패턴 (Proxy Pattern), 데코레이터 패턴 (Decorator Pattern), 어댑터 패턴 (Adapter Pattern)

ghostang·2023년 6월 2일

Design Patterns

목록 보기
1/1
post-thumbnail

클래스 다이어그램만 보자면 비슷하게 생긴 세가지 비슷한 형태의 패턴을 비교해보고자 한다. 셋은 각각 역할이 다르다는 점에 주목하자.

1. 프록시 패턴 (Proxy Pattern)

대리자 역할

A -> B
A -> Proxy -> B

Proxy 는 B 와 인터페이스가 같다.
Proxy 는 B 를 감싼다고도 할 수 있다.

A 에서 B 로의 접근을 제어하거나 B 를 보호하는 역할을 한다고 생각하면 자연스럽다.

2. 데코레이터 패턴 (Decorator Pattern)

행위를 추가, 확장하는 역할

A -> B
A -> Decorator(B)

Decorator 는 B 와 인터페이스가 같다
Decorator 는 B 를 감싼다.

B 의 기능을 확장시키는 형태라고 생각하면 되겠다.

3. 어댑터 패턴 (Adapter Pattern)

컨버터 역할

A -> B
A -> Adapter(B')

Adapter 는 B 와 인터페이스가 같다.
Adapter 는 B' 을 감싼다.

A 가 B 를 사용하는 인터페이스를 그대로 쓰면서 B' 을 사용할 수 있게 호환시켜준다.

profile
Software Engineer

0개의 댓글