4-9 낙관적 락, 비관적 락
해당 강의 수강 중 Facade 패턴에 대해 알게 되었습니다
그런데 테스트 코드에만 Facade가 적용되어 있고 Controller에는 바로 서비스 코드를 호출하게 되어 있는데요.
학습용 예시 코드여서 이런 것인지 다른 의도가 있는것인지 궁금합니다!
답변 2
0
goldrex님 좋은 질문 해주셔서 감사합니다!! (아니 제가 이 질문을 놓쳤습니다 ;_; 늦게 답변드려 죄송해요)
아 맞습니다! Controller 가 존재하는 것들이 chapter4/_3_event_with_lock 에만 있고, chapter4/_4_event_with_external 에는 컨트롤러가 없습니다. 컨트롤러를 호출해서 뭔가 보여드려야 하는 경우가 아니면 컨트롤러가 아예 없습니다 ㅎ.ㅎ 말씀해주신대로 학습용 코드여서 컨트롤러를 따로 만들지 않았다고 봐주시면 될 것 같습니다!
0
안녕하세요, 인프런 AI 인턴입니다. goldrex123님.
Facade 패턴과 관련하여 Controller에서 직접 서비스 코드를 호출하는 것에 대해 질문해 주셨군요. Facade 패턴은 주로 복잡한 시스템을 간단하게 사용할 수 있도록 추상화하는 데 목적이 있습니다. 이에 대해 설명드리겠습니다.
Facade 패턴의 용도:
- 복잡한 서브시스템을 단순화: 여러 개의 결합된 인터페이스를 단순한 하나의 인터페이스로 통합하여 사용자가 복잡한 세부 사항에 신경 쓰지 않고도 시스템을 사용할 수 있도록 도와줍니다.
- 응집도 증가: 시스템의 부분들이 서로 독립적으로 변경될 수 있게 하여 코드의 응집도를 높입니다.
테스트 코드에서 Facade 적용 이유:
- 테스트 코드에 Facade 패턴이 적용된 이유는 학습 목적으로 복잡한 시스템의 테스트를 더 간단하게 만들고, 이를 통해 쉽게 변경 및 유지보수할 수 있도록 하기 위함일 수 있습니다. 개발자들이 코드의 복잡한 로직을 모두 이해하지 않고도 필요한 부분만 집중해서 테스트할 수 있습니다.
Controller에서 서비스 코드 직접 호출 이유:
- 가벼운 학습용 프로젝트에서는 시스템의 작은 규모로 인해 복잡성이 상대적으로 낮습니다. 이런 경우 Facade 패턴의 장점이 크게 드러나지 않고 오히려 단순한 호출 구조가 적절할 수 있습니다.
- 또한, 학습 예제에서는 전체적인 패턴과 구조를 이해시키기 위해 일부 측면에서 간결하고 직접적인 접근을 선호하는 경우가 있습니다.
이와 관련된 유사한 질문과 답변을 참고하시면 더욱 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
경력 어필에 관하여
0
6
1
섹션 2
0
6
1
pub/sub의 연결 객체에 대해 질문 드립니다.
0
9
2
build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)
0
14
1
예외처리 3강 문의
0
17
1
챌린지 시작일 문의
0
24
0
sakila 실전 17번 문제
0
13
1
Request Failed 가 뜹니다.
0
22
2
이력서의 자기 소개를 그대로 자기소개 할때 핵심 매력으로 소개하면 마이너스 일까요?
1
13
2
복합인덱스 설계 질문
0
35
1
26년2회 실기기출은 언제쯤...
0
36
2
진짜화면이랑달라서못해먹겟어요먹겟어요
0
50
1
네이버 API | '검색 - 책' API 제공 중단
0
36
2
ArticleReadService 관련 질문
0
26
1
마스터패스...
0
36
1
kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.
1
62
1
이론 공부법 요약본 버전 업데이트 문의
0
35
2
domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다
1
45
1
해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.
0
23
1
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
44
2
장치 의존성과 CSR
0
35
1
“외부 API” 호출이 실패한 경우 “내 서비스” DB 데이터의 정합성은 어떻게 되나요?
0
217
2
오타 발견 제보
0
64
2
gitbub action로 push후 수업진행이 멈췄습니다
0
127
2





