인프런 커뮤니티 질문&답변

감바스님의 프로필 이미지
감바스

작성한 질문수

스프링 핵심 원리 - 기본편

pdf 자료 3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 4페이지에 질문이 있습니다.

해결된 질문

작성

·

272

0

지금 코드는 기능을 확장해서 변경하면, 클라이언트 코드에 영향을 준다! 따라서 OCP를 위반한다.

  1. 클라이언트 코드에서 클라이언트가 클라이언트 - 서버 할때 그 클라이언트 인가요?

     

  2. 클라이언트 코드라는게 무슨 의미인건가요?

 

감사합니다.

 

답변 1

0

OrderServiceImpl이 DiscountPolicy를 의존하고 있습니다.

요청하는 클래스는 클라이언트가 되고 요청 받는 클래스는 서버가 되는 것입니다.

스프링 아키텍쳐로 예를 들면 (객체지향설계와 스프링.pdf)

Service 가 Repository 요청을 하고 있을 때,

이 때 Service 클래스가 클라이언트가 되고 Repository가 서버가 되는 것인데요.

흔히 말하는 웹사이트에서 클라이언트와 서버 사이의 관계와 같은 맥락이라고 볼 수 있고요.

Controller가 Service에게 요청하고

Service가 Repository에게 요청하고

Repository는 DB에 요청할 때

각각은 클라이언트 - 서버 관계가 되는 것입니다.

 

 

감바스님의 프로필 이미지
감바스
질문자

답변 감사합니다!

감바스님의 프로필 이미지
감바스

작성한 질문수

질문하기