[Typescript로 설계하는 프로젝트] "원래 있던 기능이니 금방 하시죠?" 당하지 않는 Service Layer 설계 전략 With Di

ant·2025년 6월 8일
post-thumbnail

[이전 안내] "원래 있던 기능이니 금방 하시죠?" 당하지 않는 Service Layer 설계 전략

기획자: "별거 아니에요! 사용자의 특정 조건에 따라 카드 색깔만 바꾸면 되는데, 기존에 있던 기능이니 금방 하시죠?"

나: (그거 컴포넌트 로직에 딱 붙여놨는데... 또 복사해서 써야 하나? 😰)

이런 상황에서 우리를 구원해 줄 방법은 바로 Service Layer를 분리하고 DI(의존성 주입)를 도입하는 것입니다. 비즈니스 로직을
UI와 API 호출부에서 독립시키면, 어떤 갑작스러운 요구사항에도 "네, 금방 됩니다!"라고 당당하게 말할 수 있습니다.

⚡️ 이 글에서 다루는 핵심 내용

  1. 관심사의 분리: UI 렌더링, CSS 스타일링, 비즈니스 로직을 완벽하게 떼어내는 법

  2. 재사용성 극대화: 한 번 작성한 상태 판단 로직(getUserStatus)을 앱 어디서든 호출하는 법

  3. 의존성 주입(DI): 외부 서버 인터페이스를 주입받아 테스트하기 쉽고 유연한 코드를 만드는 법

  4. 코드 레벨의 BFF: 여러 API를 조합하여 프론트엔드에 최적화된 데이터를 가공하는 전략


    상세한 클래스 설계 코드와 테스트 작성법, 그리고 복잡한 요구사항을 해결하는 실전 예제는 아래의 새로운 블로그에서 확인하실 수
    있습니다.

    👉 글 전체 읽으러 가기: Service Layer 설계 전략 With Di
    (https://blog.sangwook.dev/posts/typescript-project-service-di-design)

4개의 댓글

comment-user-thumbnail
2025년 6월 13일

좋은 글 남겨주셔서 감사합니다.

1개의 답글
comment-user-thumbnail
2025년 6월 18일

확실히 관심사 분리가 되고, 작은 레이어로 나누고 재사용성을 높이면 활용도가 높아지네요!
그리고 작은 레이어들은 조합해서 큰 레이어로 만들고 재밌게 잘 봤습니다!

1개의 답글