더북(TheBook)

백문이 불여일견이라고 했으니, 간단한 예제와 함께 살펴보도록 하자.

음악 재생기 애플리케이션에서 음악을 재생하는 기능을 구현한다고 가정해 보자. 먼저 포트를 정의해야 한다.

 

// MusicPlayerPort.js(포트)
class MusicPlayerPort {
    play(song) {
        throw new Error('play method must be implemented');
    }
}

module.exports = MusicPlayerPort;

MusicPlayerPort는 음악 재생기에서 사용할 포트로, play() 메서드를 정의한다. 이 메서드는 실제 구현체에서 구현해야 한다.

 

로컬 음악 플레이어 어댑터 구현

로컬 파일 시스템에서 음악을 재생하는 어댑터를 구현해야 한다.

 

// LocalMusicPlayerAdapter.js(어댑터)
const MusicPlayerPort = require('./MusicPlayerPort');


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