역자의 노트 | 포트와 어댑터 아키텍처에 대한 이해
포트와 어댑터라는 생소한 개념이 등장했다. 간단하게 짚고 넘어가면 좋을 것 같아 예제를 준비했다.
우선 각각을 이해하는 것이 중요하다. 포트와 어댑터 아키텍처는 다양한 외부 요소와 유연하게 연결할 수 있도록 설계하는 방법을 의미하는데, 이 아키텍처는 다음 구성 요소로 되어 있다.
• 포트는 시스템의 내부와 외부를 연결하는 인터페이스를 의미한다. 포트는 시스템이 외부와 통신하는 방법을 정의한다. 예를 들어 음악 재생기 애플리케이션에서 음악을 재생하는 포트를 정의할 수 있다.
• 어댑터는 포트를 통해 들어오는 요청을 처리하는 구체적인 구현체다. 어댑터는 외부 시스템 요청을 내부 시스템이 이해할 수 있는 형태로 변환하고, 반대로 내부 시스템의 응답을 외부 시스템이 이해할 수 있는 형태로 변환한다. 예를 들어 로컬 파일 시스템에서 음악 파일을 재생하는 어댑터를 구현할 수 있다.
이 아키텍처의 주요 장점은 다음과 같다.
• 유연성: 외부 시스템이 변경되더라도 어댑터만 수정하면 되므로 시스템의 다른 부분에 영향을 주지 않는다.
• 테스트 용이성: 실제 외부 시스템을 사용하지 않고 가짜 어댑터를 사용하여 내부 로직을 테스트할 수 있다.
• 유지 보수성: 포트와 어댑터를 통해 의존성을 분리함으로써 코드 변경이 다른 부분에 미치는 영향을 최소화할 수 있다.