[Spring] PSA

ejoh·2023년 2월 7일
0

Spring

목록 보기
6/33

PSA(Portable Service Abstraction)란?

클라이언트가 추상화된 상위 클래스를 일관되게 바라보며 하위 클래스의 기능을 사용하는 것을 의미한다.

서비스에 적용하는 PSA 기법

서비스 추상화란 추상화의 개념을 애플리케이션 사용하는 서비스에 적용하는 기법이다.

위의 그림에서는 클라이언트가 데이터베이스에 연결하기 위해 JdbcConnector를 사용하기 위한 서비스 추상화의 예로 JdbcConnector 인터페이스를 통해 간접적으로 연결되어 느슨한 결합이 된 Connection 객체를 얻을 수 있다.

DbClient는 어떠한 JdbcConnector 구현체를 사용하더라도 getConnection() 메서드를 통해 Connection을 얻을 수 있다. 서비스의 기능을 접근하는 방식 자체를 일관되게 유지하며 기술 자체를 유연하게 사용할 수 있도록 하는 것을 PSA(일관된 서비스 추상화)라고 한다.

PSA가 필요한 이유

어떤 서비스를 이용하기 위한 접근 방식을 일관된 방식으로 유지함으로써 애플리케이션에서 사용하는 기술이 변경되더라도 최소한의 변경만으로 변경된 요구 사항을 반영하기 위함

profile
자료 정리 블로그

0개의 댓글