디자인 패턴 7강. 어댑터 패턴과 퍼사드 패턴(Adapter, Facade Pattern)

기타/[고급객체지향 프로그래밍]

2019. 12. 12. 20:31

 

[어댑터 패턴의 목적]

: 호환되지 않는 인터페이스로 인해 동작하지 않는 클래스들을 동작하게끔 해주는 어댑터의 역할을 해준다.

어댑터 패턴 정의

 

 

[퍼사드 패턴의 목적]

: 서브시스템에 있는 여러 인터페이스를 통합하는 한개의 인터페이스를 제공해준다. (고급수준의 인터페이스 정의)

 

 

 

[어댑터, 퍼사드 패턴 예시]

1. 오리 탈을 쓴 칠면조(파일 있음)

더보기

: 1장에서 만들었던 Duck 클래스에 Turkey 인터페이스와 WileTurkey 클래스를 만든 상태다.

: 이때 Duck 객체가 모잘라서 Turkey 객체를 대신 사용해야하는 상황일때 어댑터 = Adapter 클래스

Adapter 클래스의 역할 TurkeyAdapter의 코드

# Adaptee 클래스 : Turkey 클래스들

# Adapter 클래스  TurkeyAdapter 클래스

# Target 인터페이스 : Duck 인터페이스, 클래스들

2. Enumeration을 Iterator에 적응시키기

: 생략

3. 퍼사드 패턴 이용해 홈시어터 만들기

더보기

: 전장에서 만든 홈시어터에서의 Light, CDplayer, garage등의 클래스들을 통합해 고급수준의 클래스로 만들어줌

# 퍼사드 클래스

  : 여러 서브수준 인터페이스(클래스)들을 받아 여러 명령 수행하는 메서드 수행 (빅스비 루틴 같이)

  ex) watchMovie(String movie) : 라이트 10으로, 앰프 켜고, 프로젝터 켜고, Dvd(movie)로 맞추고...

4. 어댑터 패턴 - 영화목록 관리

더보기