module.exports = StreamingMusicPlayerAdapter;
StreamingMusicPlayerAdapter는 MusicPlayerPort를 상속받아 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');
여기에서는 LocalMusicPlayerAdapter와 StreamingMusicPlayerAdapter를 사용하여 각각 로컬 파일 시스템과 외부 스트리밍 서비스에서 음악을 재생한다. 의존성을 쉽게 변경할 수 있다는 점이 이 아키텍처의 장점이라고 할 수 있다.