코어의 서비스가 영속성 어댑터에 접근하기 위해 포트를 사용, 해당 포트는 영속성 어댑터가 구현하는 형태이다.
포트는 영속성 작업을 수행하고 DB와 통신할 책임을 가진 영속성 어댑터 클래스에 의해 구현된다.
이러한 포트 계층은 영속성 계층에 대한 서비스의 직접적인 의존을 없애기 존재한다!
1. 입력을 받는다.
2. 입력을 DB 포맷으로 매핑한다.
3. 입력을 DB로 보낸다.
4. DB 출력을 애플리케이션 포맷으로 매핑한다.
5. 출력을 반환한다.
영속성 어댑터는 포트 인터페이스를 통해 입력을 받는다.
입출력 과정에서 매핑이 발생한다.
영속성 어댑터의 입출력 모델이 영속성 어댑터 내부에 있는 것이 아니라 애플리케이션 코어에 있기 때문에, 영속성 어댑터 내부를 변경하는 것이 코어에 영향을 미치지 않게 된다!