inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

배달앱은 어떻게 내 주변의 맛집을 찾을까?

카테고리 메타 데이터는 어떻게 관리할까

강사님께서 entity를 사용하신 이유가 궁금합니다

284

daniel

작성한 질문수 58

0

안녕하세요
강사님의 강의를 수강 중인 주니어 개발자입니다!

요즘 디자인 패턴을 공부하면서 강사님 강의를 듣다보니까 궁금한 점이 생겼습니다

저는 요즘 service, repo, controller(apis) + dto 기반의 간단한 레이어드 기반 아키텍처를 차용해서 디렉토리를 구성하고 있는데요

아직 DDD를 조금 밖에 학습하지 않아, 잘은 모르지만,
entity를 사용한 강사님 코드를 보면, DDD가 많이 떠오릅니다
entities가 도메인 객체인 것 같은 느낌도 들고요
그래서 그런지 강의를 절반 이상 2번씩 들은 지금도
강사님의 디렉토리 구조가 익숙치 않습니다

강사님께서 이 강의를 만드실 때, 디렉토리 구조를 entity 기반으로 만드신 이유가 따로 있으실까요?

강사님께서 디렉토리 구조를 구성할 때, 어떤 방식으로 디렉토리 구조를 구성하시는 지도 궁금합니다 ㅎㅎ

python mongodb FastAPI

답변 2

0

정승원

yuki 님 안녕하세요! 제가 답이 늦었습니다 ㅎㅎ...

  1. 디렉터리 구조는 제가 지금까지 개발해 오면서 스스로 편하다고 생각한 대로 만들었습니다~ 특별히 참고한 자료는 없습니다.

  2. entity 기반으로 만든 이유 -> entity 기반이 무엇인지, entity 기반이 아닌것은 또 무엇인지 조금 더 자세히 설명해 주실 수 잇으실까용?

0

daniel

이렇게 답변을 달아주셔서 감사드립니다
2번의 경우, 당시 제가 공부할 때는 도메인 모델에 대한 지식이 없어서, 엔티티 기반이라는 표현을 사용했던 것 같습니다 🙂

질문이 조금 추상적일 수 있는데요.
강사님께서 도메인 모델을 만드실 때, 그 기준이 궁금합니다.
DB에 저장되는 데이터 구조들을 기반으로 만드시는지, 아니면 강사님께서 생각하시는 별도의 도메인 모델을 설계하는 기준이 있으신지 궁금합니다

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

yuki님, 질문 주셔서 감사합니다.

Entity를 사용하는 주된 이유는 도메인 모델을 효과적으로 관리하기 위해서입니다. 도메인 주도 설계(DDD)에서는 도메인의 복잡성을 관리하는 방법으로 모델을 중심으로 시스템을 구축하는 것을 권장합니다. Entity는 이러한 도메인 모델을 표현하는 데 핵심적인 역할을 하며, 해당 도메인의 핵심 비즈니스 로직을 캡슐화하고 데이터의 지속적인 상태 관리를 가능하게 합니다.

특히 Spring Boot에서는 persistence.xml 파일 없이 “Entity Scanning”을 사용하여, @Entity, @Embeddable, @MappedSuperclass가 붙은 클래스들을 자동으로 인식하고 관리합니다. 이를 통해 개발자는 도메인 모델과 관련된 클래스들을 보다 쉽게 관리할 수 있으며, 도메인 중심의 설계를 더욱 명확하게 반영할 수 있게 됩니다.

디렉토리 구조를 구성할 때, Entity 기반으로 구성하는 이유는 도메인 간의 관계를 명확하게 표현하고, 각 도메인 모델의 역할과 책임을 분명히 나누기 위해서입니다. 이와 같은 구조는 개발자가 시스템의 복잡성을 이해하고 관리하는 데 도움을 주며, 유지 보수성과 확장성을 향상시킬 수 있습니다.

여기서 Spring Boot 참조 문서의 관련 부분을 확인하실 수 있습니다.

이 내용이 yuki님의 궁금증을 해결하는 데 도움이 되었기를 바랍니다.

11. 데이터를 목록화하는 리스트와 튜플 에서 콘솔 실행시

0

10

1

ZIP 파일

0

18

2

26강 13F 강의 불일치 및 질문 요청

0

21

3

[업로드오류] 강의 내용과 제목 불일치

0

20

2

강의와는 별개로...

0

25

3

[예제002] 에서 파인썬 인터프리터가 없습니다

0

24

3

65강 소리

0

12

1

작업형2 모의문제1 (30강)

0

18

1

섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?

0

15

2

가상환경 초반 에러_create name

0

25

1

안녕하세요 유튜브 보고 재밌을꺼 같아서 강의 결제해서 보고잇습니다.

0

21

2

수강 기간 연장 문의 드립니다.

0

21

1

수강 계획과 관련해 문의 드립니다.

0

19

1

노션 열기에 도움이 필요합니다.

0

27

2

노션 파일 권한

0

24

2

좋은 강의 자료 감사합니다.

0

28

2

유튜브 영상보고 강의 등록하였습니다.

0

28

2

아래 질문 내용 추가 질문 사항 입니다.

0

60

1

파이참을 이용해서 Python Interpreter 통해 라이브러리 설치가 안되는데 도움이 필요합니다.

0

105

2

캐시 구현에서 Redis - MongoDB 스코프

0

137

2

test.sh 실행시 missing arg 에러(_id)가뜹니다.

0

96

1

odm 관련

0

452

3

test.sh 파일 실행 후 에러 처리 방법

0

568

1

테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생합니다.

3

2215

3