강의

멘토링

커뮤니티

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

백지훈님의 프로필 이미지
백지훈

작성한 질문수

제미니의 개발실무 - 커머스 백엔드 기본편

코드 느끼기

표현 계층에서의 접근 지점이 다양해지는것과 이를 해결하기 위한 파사드의 도입에 대해 제미니님의 생각이 궁금합니다.

작성

·

20

1

안녕하세요 제미니님, 유튜브부터 계속 꾸준히 보다가 강의 릴리즈 하신 후 바로 구매하여 듣고 있는 사람입니다. 먼저, 생각할 거리를 많이 주는 좋은 강의 감사드립니다.

 

다름이 아니라, 일단은 ProductSerivce 안에서 Product라는 개념만을 명확히 다루고자 하였기에 Controller에 타 개념의 Service들도 혼재되는? 그런 상황이라고 이해했습니다.

 

물론 다 선택의 영역이겠지만, 개발자분들 중에선 Presentation 영역(Controller)을 최대한 가볍게 가지고 가시려는 분들도 많은것 같습니다.

그래서 대신에 여러 서비스들이 혼재되는 상황을 Facade 등을 도입해서 여러 개념의 서비스들에 대한 presentation 계층에서의 접근을 일원화하고 각 서비스단에서의 복잡성은 해결하고자 하는 케이스도 실무에서 종종 접했는데요. 이에 대해서는 제미니님께서 어떻게 생각하시는지 궁금합니다.

답변 2

0

제미니님의 프로필 이미지
제미니
지식공유자

안녕하세요! 질문 감사드립니다
유사한 질문에 대한 답변이 있어서 링크 전달드립니다!

혹시 보시고 추가 질문이 있다면 주시면 감사하겠습니다!

0

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

좋은 질문을 해주셔서 감사드립니다. 백엔드 개발에서의 프리젠테이션 레이어는 사용자 요청을 처리하고, 적절한 비즈니스 로직으로 이어주는 중요한 부분입니다. 이 과정에서 여러 서비스가 혼재될 수 있는데요, 이를 효율적으로 관리하기 위한 디자인 패턴이 ‘파사드(Facade)‘입니다.

파사드 패턴과 프리젠테이션 레이어 관리

  1. 파사드 패턴의 장점:

    • 복잡성 감소: 여러 서비스들을 하나의 인터페이스로 묶음으로써, 프리젠테이션 레이어는 단순화됩니다. 이는 유지보수성을 높이고, 코드의 가독성을 향상시킵니다.
    • 일관성 유지: 각각의 서비스 로직이 변화하더라도, 파사드 인터페이스는 이를 캡슐화하여 프리젠테이션 레이어에 미치는 영향을 최소화합니다.
    • 확장성: 새로운 기능을 추가할 때, 기존 프리젠테이션 레이어를 그대로 두고 파사드만 수정함으로써 시스템을 쉽게 확장할 수 있습니다.
  2. 프리젠테이션 레이어의 접근 방식:

    • 표현 계층을 가볍게 유지하는 접근법은 코드의 명확성을 위해 권장됩니다. 컨트롤러는 단순히 사용자 요청을 받아 적절한 서비스 메서드를 호출하는 데 집중해야 합니다.
    • 파사드를 도입하면 복잡한 비즈니스 로직이나 여러 서비스 호출을 컨트롤러에서 분리하여, 프리젠테이션 레이어의 코드를 간결하게 유지할 수 있습니다.

제미니님의 강의에서는 이러한 점을 기반으로 파사드 패턴의 사용이 습관적으로 남용되지 않고, 필요한 경우에 적용되어야 한다는 점을 설명하고 있습니다.

여기에 대한 더 많은 실전 적용 사례나 논의를 보고 싶으시다면, 다음과 같은 유사한 질문과 답변이 도움이 될 수 있습니다:

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

백지훈님의 프로필 이미지
백지훈

작성한 질문수

질문하기