더북(TheBook)
module.exports = StreamingMusicPlayerAdapter;

StreamingMusicPlayerAdapterMusicPlayerPort를 상속받아 play() 메서드를 구현한다. 이 메서드는 외부 스트리밍 서비스에서 음악을 재생하는 역할을 한다.

 

음악 재생기 애플리케이션에서 어댑터 사용

음악 재생기 애플리케이션에서는 어댑터를 사용하여 음악을 재생한다.

 

// main.js
const LocalMusicPlayerAdapter = require('./LocalMusicPlayerAdapter');
const StreamingMusicPlayerAdapter = require('./StreamingMusicPlayerAdapter');

// 의존성을 주입한다.
const musicPlayer = new LocalMusicPlayerAdapter();
musicPlayer.play('Harry Potter Theme');

// 의존성을 변경한다.
const streamingMusicPlayer = new StreamingMusicPlayerAdapter();
streamingMusicPlayer.play('Harry Potter Theme');

여기에서는 LocalMusicPlayerAdapterStreamingMusicPlayerAdapter를 사용하여 각각 로컬 파일 시스템과 외부 스트리밍 서비스에서 음악을 재생한다. 의존성을 쉽게 변경할 수 있다는 점이 이 아키텍처의 장점이라고 할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.