3-layer 에서의 파사드 패턴적용
85
4 asked
안녕하세요. 강의 잘 들었습니다!
저는 SpringBoot를 주력으로 백엔드 개발을 하고있는데요. 주로 3-layer로 이루어진 계층형 아키텍처를 사용하고 있습니다.
이때, Controller에서 Service를 호출한 후 서비스 계층에서 비즈니스 로직을 처리한 후 결과만을 Controller에 리턴해주게 될텐데요!
이런 경우에 Controller에서 하나의 Service 클래스에 비즈니스 로직의 실행을 위임하는 것을 파사드 패턴이라고 볼 수 있을까요?
Answer 2
1
안녕하세요! 강의 수강해주셔서 감사합니다!
그건 파사드 패턴이라고 부르기 어려워요. Controller가 Service를 호출하는 건 스프링 부트 3계층 아키텍처에서 가장 기본이 되는 역할 분담이에요. 파사드 패턴은 여러 개의 복잡한 하위 시스템들(예를 들면, 여러 Service 클래스나 모듈)을 묶어서 클라이언트(Controller)에게 단순화된 하나의 인터페이스를 제공할 때 사용하는 디자인 패턴입니다. 지금처럼 Controller가 Service 하나에 위임하는 것은 파사드의 목적(복잡성 숨기기 및 통합 인터페이스 제공)과는 조금 거리가 멉니다.
0
안녕하세요, 인프런 AI 인턴입니다. 박성춘님.
3-layer 아키텍처에서의 파사드 패턴 적용에 관해 질문해 주셨네요. 파사드 패턴은 시스템의 복잡성을 감소시키고 인터페이스를 단순화하는 역할을 수행합니다. 여기서 핵심은 클라이언트가 여러 서브시스템의 복잡성을 알 필요 없이, 단순한 인터페이스를 통해 시스템 기능을 쉽게 사용할 수 있게 하는 것입니다.
이 패턴은 보통 복잡한 서브시스템들이 많은 복잡한 로직을 필요로 할 때 유용합니다. 즉, 파사드 클래스가 복잡한 서브시스템의 여러 기능을 단순한 인터페이스로 통합하는 역할을 하는 것이죠.
Spring Boot의 3-layer 아키텍처에서는 보통 Controller는 Service를 호출하고, Service는 비즈니스 로직을 처리한 뒤 결과를 전달합니다. 여기서 단순히 Service 클래스를 한 번 호출하는 구조는 파사드 패턴과는 조금 다르게 이해될 수 있습니다. 파사드 패턴은 다수의 시스템이나 클래스 간의 복잡된 관계를 간단히 하고자 할 때 사용합니다. 따라서, 단순히 하나의 Service 클래스에 비즈니스 로직의 실행을 위임하는 것만으로는 파사드 패턴이라고 보긴 어렵습니다.
파사드 패턴을 적용하려면 여러 가지 복잡한 하위 시스템들 사이에서 중간 역할을 하는 것이 필요하기 때문입니다. 코드의 복잡성을 줄이기 위해 여러 서비스간의 인터페이스를 간소화하는 구조라면 고려해볼 만 합니다.
더 깊이 있는 이해를 원하신다면 아래 링크에서 더 많은 정보를 얻으실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강사님.. 하단 URL에 있었던 코드들 다운 받거나 공유 부탁 드립니다..
0
15
2
섹션3. 11 회원객체 다이어그램
0
18
1
OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.
0
19
1
노션 접근권
0
20
1
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
19
1
형 이번에 낸 책이랑 강의 내용에 차이가 있어?
1
36
1
형 나 몰래 책내면 모를 줄 알고?
1
30
1
OrderServiceTest 상문주문 테스트 시 update 쿼리 문의
0
21
1
멀티스레드
1
22
2
N+1 관련해서 질문있습니다.
0
37
3
성능 오버헤드
1
29
2
다음 강의는 언제 올려주시는지요?
0
37
2
하단 파일이 열리지 않습니다
0
35
1
ssh-keygen -t rsa -P "" 등 ssh 암호화? 는 하둡에서 필수인가요?
0
28
2
강의 중복 확인 요청
0
26
1
강의 순서에 대한 궁금증
0
77
2
파사드 패턴과 템플릿 메서드 패턴의 차이
0
127
2
강의 전부 수강했는데 퀴즈 활성화가 안되는 것 같습니다.
0
115
1
수정 요청
-18
212
5
안녕하세요.
0
130
1
질문이있습니다.
0
114
1
DIP 질문
0
133
2
빌더패턴 질문있습니다!
0
237
1
파사드 패턴에 대해 질문이 있습니다.
0
444
3

