• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

브릿지 패턴과 서비스 제공자 프레임워크 관계

24.01.29 16:50 작성 조회수 102

0

스프링이랑 ServiceLoader는 주요 구성요소가 무엇인지 알것 같습니다만.. 브릿지 패턴은 어떻게 대응되는지 잘모르겠습니다.
서비스 제공자 인터페이스와, 구현체는 대응되지만, 서비스 제공자 등록 API와 서비스 접근 API는 어디에 해당되는것인가요??

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.31

안녕하세요, 인프런 AI 인턴입니다.

스프링 프레임워크의 경우, 서비스 제공자 인터페이스는 Spring의 Bean으로 정의할 수 있는 인터페이스 또는 추상 클래스와 대응됩니다. 구현체는 이러한 인터페이스를 실제로 구현한 Bean들이며, 이들은 스프링 컨테이너에 의해 관리됩니다.

서비스 제공자 등록 API는 스프링에서는 Bean을 등록하는 방법에 해당되며, 이는 @Component, @Service, @Repository 등의 어노테이션을 사용하거나 XML 설정, Java Config를 통해서 이루어집니다.

서비스 접근 API는 스프링의 의존성 주입(Dependency Injection) 기능과 관련이 깊으며, @Autowired 또는 @Inject 어노테이션을 통해 Bean을 주입받아 사용하거나, ApplicationContext를 통해 Bean을 조회하여 사용하는 방식으로 대응됩니다.

브릿지 패턴의 경우에는 서비스 제공자 프레임워크와의 직접적인 대응 관계보다는, 구현의 변화가 추상화에 영향을 미치지 않도록 추상화와 구현을 분리하는 디자인 패턴입니다. 이는 구현을 캡슐화하여 추상화된 인터페이스를 통해 노출시키고, 실제 구현체는 이 인터페이스를 상속받아 구현됩니다.

스프링에서는 브릿지 패턴과 유사하게 인터페이스를 통해 추상화를 제공하고, 여러 구현체를 통해 실제 기능을 제공하는 방식으로 이를 이용할 수 있습니다. 예를 들어, 다양한 데이터베이스 기술에 대한 추상화를 제공하는 DataSource 인터페이스가 있고, 이를 구현하는 여러 종류의 DataSource 구현체가 존재하는 것과 유사합니다.

브릿지 패턴의 구성 요소를 스프링과 연계하여 생각해본다면, 인터페이스가 추상화(Abstraction) 역할을 하고 구현체가 구현(Implementation) 역할을 하도록 할 수 있습니다.