독서/스프링 입문을 위한 자바 객체지향의 원리와 이해

스프링 삼각형과 설정 정보-3

더덕2 2023. 5. 24. 15:26

PSA - 일관성 있는 서비스 추상화

서비스 추상화의 예로는 JDBC가 있다. 

JDBC라는 표준 스펙이 있기에 오라클을 사용하든 MySQL을 사용하든, MS-SQL을 사용하든

Connection, Statement, ResultSet을 이용해 공통된 방식으로 코드를 작성할 수 있다.

 

이렇게 할 수 있는 이유는 디자인패턴인 어댑터 패턴을 사용했기 때문이다.

어댑터 패턴을 적용해 같은 일을 하는 다수의 기술을 공통의 인터페이스로 제어할 수 있게 한것을 서비스 추상화 라고 한다.

 

스프링 프레임워크에서는 서비스 추상화를 위해서 다양한 어댑터를 제공하고 있다.

OXM(Object XML Mapping : 객체와 XML 매핑)

등등 다양한 기술이 있는데 다양한 기술들이 제공하는 API는 제각각이고 스프링은 제각각인 API를 위한 어댑터를

제공함으로써 실제로 어떤 OXM 기술을 쓰든 일관된 방식으로 코드를 작성할 수 있게 지원한다.

 

이것을 PSA (일관성 있는 서비스 추상화)라고 한다.