smRt-Egg / book-ddd-start

📔 도메인 주도 개발 시작하기 스터디 저장소
5 stars 0 forks source link

2장 아키텍처 개요 #2

Closed tidavid1 closed 10 months ago

tidavid1 commented 10 months ago

2장 아키텍처 개요를 읽고 코멘트를 남겨주세요

YongNyeo commented 10 months ago

Q. 인프라스트럭처 계층에서 DB모듈과 나뉘는 룰 엔진은 외부의 기술을 이용하는 부분인지? (2.2 계층 구조 아키텍처 p65~69)

계층 구조 아키텍처를 보면서 DB모듈이랑 엔진이란게 나뉘어져있었는데, 모듈 엔진이라는 방식에 대해서는 접해본 경험이 없어서 의제를 제안하게 됬습니다. 이 부분과 관련되어 이해한 내용이 있으신지에 대해서 이야기를 나눠보고 싶습니다. (김용상)


이경민

결국 DB 모듈과 같은 외부 리소스를 갖고오는 인프라스트럭처와 관련된 내용에 대한 설명을 위해서 첨부한 내용이다 정도로만 바라보면 좋을 것 같습니다.

소승수

DB 모듈(mybatis, jpa 등의 구현체를 하나 활용하는 것)처럼 룰 엔진도 그러한 오픈소스 구현체 중 하나를 활용하는 정도로만 이해했습니다.

홍지인

RuleEngine이 정확하게 어떤 역할을 하는 모듈인지에 대해서는 생각해보지 않았지만, 그냥 DB를 접근하는 것처럼 외부에서 라이브러리를 이용해서 구체적인 기술을 사용하는 템플릿 엔진(?)과 같은 저수준 모듈의 도구 정도라고 생각하면 될 듯 합니다.

김주환

저도 룰 엔진이란것을 처음 들어봐서 지금 좀 찾아 봤는데, <룰엔진> 이라는 아이는 비즈니스 로직을 통해 도출 될 수 있는 결과를 얻어내기 위해 사용하는 라이브러리이고, DAO 처럼 외부에서 리소스를 가져오기 때문에 인프라스트럭처 안에 존재한다 라고 이해했습니다

임수진

책을 읽으면서 그냥 이런게 있구나 받아들이고 넘어갔는데 토론하는 내용들을 들으면서 템플릿 엔진의 종류라고 생각했습니다.

happyjamy commented 10 months ago

Q. 도메인을 보통 테이블 단위로 나누었다. 하지만 책에서는 개념적인 domain 을 단위로 나누고 하위 sub 도메인으로 나누었다. 어떤 방식이 더 코드 보기 편할까?

(2.7 모듈 구성 p.94~96) → 엔티티가 하나일때도 외래키 설정등에 의해서 테이블이 나뉘는 경우가 있는데, DDD에서 보는 방식처럼 서브 도메인이 타고, 타고 가는 경우에는 한번더 뎁스가 생겨서 리소스가 한층 더 들것같은데, 이때 트레이드 오프에 관해 생각해 보자. (김주환)


김용상

도메인을 나눌때 하위 도메인으로 더 나눌지 말지에 대한 것에 대해서 도메인이 갖는 역할과 재사용성에 대한 것이 중요하다고 생각합니다. 이 때 생기는 트레이드 오프로 가독성에 대한 문제는 문서화로 해결할수 있지 않을까 라는 생각입니다

이경민

코드도 하나의 문서화 과정이라고 생각하여 직관적으로 도메인을 나누는 것이 주요하다고 생각합니다.

홍지인, 소승수

도메인을 나누는 과정에는, 특정 도메인에 종속되는(?) 도메인의 경우와 재사용성이 높은 도메인의 경우를 나눠서 패키징을 하는 것을 선호하는 편이다. 개발을 하는 과정에서 어떤 식으로 패키징을 했는지 문서화를 하는 과정이 추가된다면 도움이 되지 않을까? 하는 생각이다.

임수진

찾기 편하도록 구성하는 것이 가장 중요하다고 생각하기 때문에 테이블 단위로 도메인을 나누는 것이 좋다고 생각합니다. 테이블이 많아지고 파일이 많아질수록 찾기 편한 게 중요하다고 생각합니다.

tidavid1 commented 10 months ago

애그리거트를 어떻게 실제 코드에서 녹여낼 수 있을까? 라는 고민을 계속 하게 만드는 챕터였다. 개발 과정에서 도메인 관점으로 문제를 바라본 경험이 많이 없었고, 생각도 많이 해보지 않았었지만, 이번 챕터를 통해서 도메인 관점에 대한 생각의 확장을 할 수 있었다.

voidmelody commented 10 months ago

새로운 개념인 에그리거트에 대해 배울 수 있었다. 특히 도메인 모델의 entity와 DB의 entity에 대해 조금 차이를 인지할 수 있는 기회가 있어 좋았다.

suzzingV commented 10 months ago

도메인 영역의 구성요소에 대한 개념을 정확히 알게되었고, 전체적인 아키텍처의 흐름을 파악할 수 있게 되어 좋았다.

JIN-076 commented 10 months ago

도메인 모델 패턴의 구성요소에 대해서 전반적으로 이해할 수 있었다. 도메인 모델이 어떤 식으로 구성이 되어있고, 전체적인 아키텍처의 흐름을 파악할 수 있었다, 이번 기회로 Aggregate 개념을 새롭게 접하게 되었는데, 이번 챕터를 통해서 도메인 관점으로 생각하는 감을 익힐 수 있었다. 그리고 확장성을 위한 DIP를 적용할 때 어떻게 의존 방향을 역전시키는 게 옳은지 명확하게 이해할 수 있었다.