inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오

4-9. 낙관적 락, 비관적 락

4-9 낙관적 락, 비관적 락

해결된 질문

64

goldrex123

작성한 질문수 1

0

해당 강의 수강 중 Facade 패턴에 대해 알게 되었습니다

 

그런데 테스트 코드에만 Facade가 적용되어 있고 Controller에는 바로 서비스 코드를 호출하게 되어 있는데요.

 

학습용 예시 코드여서 이런 것인지 다른 의도가 있는것인지 궁금합니다!

java spring mysql redis 이력서

답변 2

0

딩코딩코

goldrex님 좋은 질문 해주셔서 감사합니다!! (아니 제가 이 질문을 놓쳤습니다 ;_; 늦게 답변드려 죄송해요)

아 맞습니다! Controller 가 존재하는 것들이 chapter4/_3_event_with_lock 에만 있고, chapter4/_4_event_with_external 에는 컨트롤러가 없습니다. 컨트롤러를 호출해서 뭔가 보여드려야 하는 경우가 아니면 컨트롤러가 아예 없습니다 ㅎ.ㅎ 말씀해주신대로 학습용 코드여서 컨트롤러를 따로 만들지 않았다고 봐주시면 될 것 같습니다!

0

인프런 AI 인턴

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

Facade 패턴과 관련하여 Controller에서 직접 서비스 코드를 호출하는 것에 대해 질문해 주셨군요. Facade 패턴은 주로 복잡한 시스템을 간단하게 사용할 수 있도록 추상화하는 데 목적이 있습니다. 이에 대해 설명드리겠습니다.

Facade 패턴의 용도:

  • 복잡한 서브시스템을 단순화: 여러 개의 결합된 인터페이스를 단순한 하나의 인터페이스로 통합하여 사용자가 복잡한 세부 사항에 신경 쓰지 않고도 시스템을 사용할 수 있도록 도와줍니다.
  • 응집도 증가: 시스템의 부분들이 서로 독립적으로 변경될 수 있게 하여 코드의 응집도를 높입니다.

테스트 코드에서 Facade 적용 이유:

  • 테스트 코드에 Facade 패턴이 적용된 이유는 학습 목적으로 복잡한 시스템의 테스트를 더 간단하게 만들고, 이를 통해 쉽게 변경 및 유지보수할 수 있도록 하기 위함일 수 있습니다. 개발자들이 코드의 복잡한 로직을 모두 이해하지 않고도 필요한 부분만 집중해서 테스트할 수 있습니다.

Controller에서 서비스 코드 직접 호출 이유:

  • 가벼운 학습용 프로젝트에서는 시스템의 작은 규모로 인해 복잡성이 상대적으로 낮습니다. 이런 경우 Facade 패턴의 장점이 크게 드러나지 않고 오히려 단순한 호출 구조가 적절할 수 있습니다.
  • 또한, 학습 예제에서는 전체적인 패턴과 구조를 이해시키기 위해 일부 측면에서 간결하고 직접적인 접근을 선호하는 경우가 있습니다.

이와 관련된 유사한 질문과 답변을 참고하시면 더욱 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

재귀함수 연산법

0

11

2

프론트엔드 이력서 관련 질문

1

12

2

관리자 페이지 질문

0

12

1

동일성 동등성

0

12

1

포트폴리오에 대한 질문이 있습니다!

1

24

2

안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..

0

17

1

드랍 테이블로 지운 ordes에 대해서 질문

0

23

1

47번 리턴 관련 질문

0

20

1

실무 내용 문의드려요

0

26

2

IO활용-회원관리예제1 샘플코드 문의

0

20

1

join에대해 질문드립니다.

0

19

1

문제 풀이 1번 질문

0

29

1

pg사가 있다고 가정하면

0

26

1

중급 1편 학습 방향에 대해 조언 부탁드립니다

0

34

1

To-Do App

0

27

1

twitterdb 연결이 안돼요

1

30

2

강의노트 접속 불가

0

28

2

Kafka Cluster 구성도 질문

0

23

1

회사마다의 JD 자격 요건에 대해서는 어떻게 접근해야 좋나요?

0

33

2

SingletonService가 JVM이 뜰 때 생성되는게 맞나요?

0

35

2

아주 작은 정오표 전달드립니다.

0

52

2

“외부 API” 호출이 실패한 경우 “내 서비스” DB 데이터의 정합성은 어떻게 되나요?

0

185

2

오타 발견 제보

0

51

2

gitbub action로 push후 수업진행이 멈췄습니다

0

69

2