Spring과 진짜 초면인 우리
스프링 전체 틀 이해하기! 정말 쉽지 않네요 후욱후욱..
그래도 이제 거의 다 온 것 같네요

이번에는 DDD 설계의, 사실 상 3대장이라고 불리우는 녀석들을 만나는 이야기입니다
Client -- Controller 👉🏻 Service 👉🏻 Repository -- DB
'그냥 단순히 이런가보다.. 이렇게 하라니까 이렇게 해야지..'라고 썼던 제 자신을 뒤돌아 보며,,!!!
이 구조를 제. 대.로 알아보자고요~!
DDD를 기반으로 3대장의 역할 뿌셧 👊👊👊

크게 3가지 Layer로 구분하는 것이 바로 핵심!
- Application Layer: 주로 도메인과 Repository를 바탕으로 실제 서비스(API)를 제공하는 계층
- Domain Layer: Entity, VO(Value Object)를 활용하여 도메인 로직이 진행되는 계층
(잠깐! Entity와 VO가 낯설다면 ? -> https://eddy0223.tistory.com/11 ) - Infrastructure Layer: 외부와의 통신(ORM, DB, NoSql)을 담당하는 계층
자, 그러면 DDD(Domain Driven Design)를 기반으로 Controller, Service, Repository를 알아보자구요~
- Controller:
웹 애플리케이션에서 클라이언트 요청을 처리하고 응답하는 계층이죠!
Controller는 사용자 요청을 받아 Service 계층에 전달하고, Service 계층에서 처리한 결과를 클라이언트에게 반환해줘요
클라이언트의 요청에 따라 데이터 유효성 검증, DTO 객체 생성 등을 수행하는 문지기(?) 같은 친구네요~ - Service:
도메인 로직을 처리하는 계층으로, Controller와 Repository 간의 중개자 역할을 하고있어요!
Service에서는 '비즈니스 로직'을 처리하고, 필요한 데이터를 Repository에서 조회하여 반환해줘요
또한, Service에서는 '트랜잭션 처리', '예외 처리' 등의 기능을 수행하는 너무너무 소중한 친구랍니다 - Repository:
데이터베이스와의 데이터 입출력을 처리하는 계층이에요!
Repository는 도메인 모델의 상태를 영속화하고, 필요한 데이터를 조회하여 반환해주고,
데이터베이스 연동 등을 처리하고 수행하고 있어요
이러한 계층 구조는 DDD에서 도메인 모델을 중심으로 설계되고, 비즈니스 로직이 외부 계층에 종속되지 않도록 설계되기때문에
유연하고 확장성 있는 소프트웨어를 개발을 하려면 꼭꼭 알아야만 하는 중요한 스프링의 🌷🌷🌷(3대장) 이었습니다!

'Spring과 진짜 초면인 우리들에게' 카테고리의 다른 글
| 서버야, 이 URL로 부탁할게! 00 용도로 쓰려구 ~! (0) | 2023.04.11 |
|---|---|
| Service에 비즈니스 로직을 수행한다...'비.즈.니.스 로.직' (0) | 2023.04.08 |
| DDD 설계에서 빼놓을 수 없는 삼총사! Entity & DTO & VO (0) | 2023.04.05 |
| DDD,, 내꺼인 듯 내꺼 아닌 내꺼 같은 너...!! feat. SQL 중심 설계 (0) | 2023.04.05 |
| 23년 4월 4일, 봄과 함께 스프링의 서막도 열리다! (0) | 2023.04.04 |