f-lab-edu / s-mall

1 stars 0 forks source link

패키지 구조 선정 #33

Closed sunggwon closed 2 years ago

sunggwon commented 2 years ago

[ Context ] 협업을 위해 패키지 구조 및 네이밍을 통일할 필요가 있다.

[ Definition of Done ] 패키지 구조와 클래스 네이밍 방법 선정

sunggwon commented 2 years ago

도메인 패키지 구성

장점

단점

계층형 패키지 구성

장점

단점

도메인 패키지 구성과 계층형 패키지 구성 중 관련 코드들이 모여있어 쉽게 원하는 내용을 찾아 수정할 수 있는 장점이 프로젝트 파악이 쉬운 장점보다 더 크기 때문에 도메인 패키지 구성을 선택하기로 하였습니다.

@f-lab-robert 다음과 같이 패키지 구성하려고 합니다. 리뷰 부탁드립니다.

f-lab-robert commented 2 years ago

@sunggwon DDD, Clean Architecture 등에 대해 저는 두 멘티 분이 현 단계에서 잘 알고 있을 것이라 생각하지 않습니다. 책으로만 찾아보셔도 한 권이 나오는 주제들입니다. 두 분이 알고 계시는 도메인 계층 구조가 무엇인지를 자세히 PPT 나 참고 예시 링크등을 통해 충분히 전달해주시는게 선행되야 하지 않을까요 ?

더불어, 두 번째 옵션으로 주신 내용은 "계층형" 이라는게 어떤 의미에서 계층을 의미하는 걸까요 ? Web, Service 의 Spring 에서 제공해주는 계층형 Layer 를 구분하는 것 같지는 않고. 어떤 측면에서의 계층형인가요 ? 예컨대, 제가 수직적인 구조 수평적인 구조라고 하면 머릿 속에 구체적으로 폴더 구조를 어떻게 가져가야할지 그려지실까요 ?

요컨대, 매번 말씀드렸듯 단어 하나하나까지도 두 분이 알고 계신 것을 전달해주기 위해 노력해주세요. 두 분이 무의식 적으로 사용하는 용어와 알고 계신다고 생각하는 지식들을 하나씩 점검해 나가고 상대방에게 자세하게 전달하는 커뮤니케이션 능력을 기르는 것이 중요합니다.

f-lab-robert commented 2 years ago
sunggwon commented 2 years ago

@f-lab-robert @KJW921222

패키지 구조 선정이유 Wiki에 정리하였습니다. 리뷰 부탁드립니다.

https://github.com/f-lab-edu/s-mall/wiki/%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%84%A0%EC%A0%95-%EA%B5%AC%EC%A1%B0

f-lab-robert commented 2 years ago

@sunggwon

  1. 리뷰를 받기 전에는 위키에 정리하지 말아주세요. 위키는 리뷰 및 논의가 완료된 내용이 정리되는 최종 장소입니다. 리뷰가 진행 중인건 google. docs 나 본 issue 에 정리해주셔야 합니다.

  2. Domain 측면에서 폴더를 구분하신게 DDD ( Domain Driven ) 를 의미하신거라면 개념을 다시 한번 살펴보시는 것을 권장드립니다. 무엇보다 지식을 습득한 출처를 남겨주세요. 이론 학습에서도 많이 말씀드렸던 부분인데 습득하신 정보의 출처를 남겨주세요. 그리고 그 부분이 공신력 있는 정보 가령 공식문서, 서적, 저명한 자의 블로그 혹은 공신력 있는 회사의 블로그 등을 남겨주세요. 나아가 계층형도 마찬가지 입니다. 계층의 정의부터 내리는게 먼저가 되야하지 않을까요 ? 가령, Spring 에서 관습적으로 사용하는 계층형 ( 정보 출처 필요 ) 의 의미인건지, 필자가 주관적으로 정의한 계층인건지, 기타 다른 관점에서의 계층형인건지 전혀 알수 없습니다.

  3. 정의를 구체적으로 명확하게 해주세요.

나아가 소프트웨어로 해결하고자 하는 컨텍스트의 영역

위의 문구 등이 너무 추상적입니다. 예컨대 대한민국 헌법에 대한민국은 민주공화국이다 라는 말이 있습니다. 그리고 이 한 문구를 해석하기 위해 몇 십장 나아가 백장이 되는 책 혹은 자료가 나옵니다. 즉, 구체적이지 않고 추상적인 문구는 문서를 명확하게 하는 습관이 아님을 다시 한번 말씀드립니다.

  1. 기술을 비교하는 방법에 대해 여러 차례 말씀드렸던 것 같습니다. 각각의 특징 및 장 단점을 동등한 기준에서 비교해야 합니다. 아래 문구에서는 그런게 보이지 않습니다. 도메인 패키지 구성을 하고싶다고 정해놓고 사용하고 싶은 이유를 후에 붙인 느낌이 강합니다. 아래 문구만 읽어보면 계층형은 절대 사용하면 안되는 것 처럼 느껴집니다.

도메인 패키지 구성과 계층형 패키지 구성 중 관련 코드들이 모여있어 쉽게 원하는 내용을 찾아 수정할 수 있는 장점이 프로젝트 파악이 쉬운 장점보다 더 크기 때문에 도메인 패키지 구성을 선택하기로 하였습니다.

위의 내용들을 수정해서 다시 리뷰 요청해주세요.