Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add chapter 1, 2, 3 review link and discussion #500

Merged

Conversation

jongfeel
Copy link
Member

최근 도메인 주도 설계를 완독해서 리뷰하는 느낌으로 책을 읽으니 기분이 좋습니다.
그리고 에릭 에반스의 도메인 주도 설계 책 보다는 핵심적인 내용을 nutshell 느낌으로 압축해서 설명한 내용이 좋네요.
물론 도메인 주도 설계를 모르고 읽어도 대충 알 수 있긴 하지만, 원래 책을 읽어야 무슨 내용인지 알 것도 있는 내용도 있긴 합니다.

Close #494

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @jongfeel, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request adds a summary and discussion points for chapters 1, 2, and 3 of the book 'Domain-Driven Design Quickly'. It includes links to related discussions and proposes a topic for further discussion based on the content of chapter 3.

Highlights

  • Chapter Summaries: Adds summaries for chapters 1, 2, and 3 of 'Domain-Driven Design Quickly', with links to relevant discussions.
  • Discussion Points: Proposes a discussion topic related to Model-Driven Design (chapter 3), focusing on experiences with similar concepts before learning about Domain-Driven Design.

Changelog

  • 2025/Domain-Driven Design Quickly/jongfeel/Chapter1_2_3.md
    • Added summaries for chapters 1, 2, and 3.
    • Included links to existing discussions for each chapter.
    • Proposed a discussion topic related to chapter 3, focusing on practical experiences with Model-Driven Design concepts.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Trivia time!

What is the name of the book that 'Domain-Driven Design Quickly' is based on?

Click here for the answer
Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

우측에 있는 Projects, Milestone, Development를 확인 후 할당 해주세요~! 🙇

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request adds a review and discussion of chapters 1, 2, and 3 of the book 'Domain-Driven Design Quickly'. The content provides links to related issues and proposes discussion topics related to the book's concepts. Overall, the changes seem well-organized and contribute to a better understanding of the book.

Merge Readiness

The pull request is well-structured and provides valuable insights into the book 'Domain-Driven Design Quickly'. There are no critical or high severity issues. I am unable to directly approve the pull request, and recommend that others review and approve this code before merging.

Comment on lines +15 to +27
## 논의 주제

확실히 원래 책인 도메인 주도 설계 책에 비해 상당히 내용이 잘 압축되어 있고 챕터별로 주제 설명을 잘 해 둔 느낌이 있습니다.

실제 회사에서 개발 일 할때 도메인 주도 설계 방법으로 해 본 분은 없을거라 생각하는데
3장에서 설명하는 모델 주도 설계의 핵심적인 내용 중에 프레임워크나 라이브러리에서 지원하는 방식 말고
도메인 주도 설계를 알기 전에 비슷한 개념을 썼던 적이 있는지 얘기해 보면 어떨까 싶습니다.

저는 리파지토리는 이전에 웹 프론트엔드 할 때 썼던 개념인 스토어(Store)에 변화를 줘서 썼었고
서비스의 경우는 개념 그대로 가져와서 사용했습니다.

만약 개발 경험이 많이 없거나 실무 경험이 없으신 분들은
자신이 썼던 개발 환경에서 3장에서 얘기하는 개념들을 봤거나 쓴 경험에 대해 얘기해 봐도 좋을 것 같습니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 repository와 service를 주로 많이 활용했던 것 같습니다

but, 책에서 말하고 있는 엄밀한 의미에서 활용 했다기 보다는 repository는 DB 테이블당 1개씩 존재하는 DAO의 역할. 즉, 테이블 데이터 게이트웨이의 용도로 사용하면서, 이름만 repository 였고,

service 역시, 트랜잭션스크립트 패턴으로 작성된 절차지향 코드 뭉치들 혹은 그 뭉치들을 하위함수나 클래스로 추출한 것을 대략 service 라는 이름을 붙여서 사용했었습니다

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

집합 개념을 제외한 다른 개념들은 제가 개발을 처음 배울 때 부터 사용했었던 것 같습니다.
아무래도 스프링이 주로 ORM기술로 대규모 엔터프라이즈 시스템을 구축하는데 사용되기 때문이 아닐까 생각해봅니다..

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

팩토리 방식으로 다른 사람이 만들어 놓은 것을 사용한 경험이 있습니다. 이 팩토리가 왜 필요한지에 대해서는 명확히 인지를 못했었는데 이번 기회에 복잡한 객체 생성의 절차를 캡슐화하는 목적으로 사용한다는 것을 알게 되었습니다.

Comment on lines +15 to +27
## 논의 주제

확실히 원래 책인 도메인 주도 설계 책에 비해 상당히 내용이 잘 압축되어 있고 챕터별로 주제 설명을 잘 해 둔 느낌이 있습니다.

실제 회사에서 개발 일 할때 도메인 주도 설계 방법으로 해 본 분은 없을거라 생각하는데
3장에서 설명하는 모델 주도 설계의 핵심적인 내용 중에 프레임워크나 라이브러리에서 지원하는 방식 말고
도메인 주도 설계를 알기 전에 비슷한 개념을 썼던 적이 있는지 얘기해 보면 어떨까 싶습니다.

저는 리파지토리는 이전에 웹 프론트엔드 할 때 썼던 개념인 스토어(Store)에 변화를 줘서 썼었고
서비스의 경우는 개념 그대로 가져와서 사용했습니다.

만약 개발 경험이 많이 없거나 실무 경험이 없으신 분들은
자신이 썼던 개발 환경에서 3장에서 얘기하는 개념들을 봤거나 쓴 경험에 대해 얘기해 봐도 좋을 것 같습니다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

집합 개념을 제외한 다른 개념들은 제가 개발을 처음 배울 때 부터 사용했었던 것 같습니다.
아무래도 스프링이 주로 ORM기술로 대규모 엔터프라이즈 시스템을 구축하는데 사용되기 때문이 아닐까 생각해봅니다..

Comment on lines +15 to +27
## 논의 주제

확실히 원래 책인 도메인 주도 설계 책에 비해 상당히 내용이 잘 압축되어 있고 챕터별로 주제 설명을 잘 해 둔 느낌이 있습니다.

실제 회사에서 개발 일 할때 도메인 주도 설계 방법으로 해 본 분은 없을거라 생각하는데
3장에서 설명하는 모델 주도 설계의 핵심적인 내용 중에 프레임워크나 라이브러리에서 지원하는 방식 말고
도메인 주도 설계를 알기 전에 비슷한 개념을 썼던 적이 있는지 얘기해 보면 어떨까 싶습니다.

저는 리파지토리는 이전에 웹 프론트엔드 할 때 썼던 개념인 스토어(Store)에 변화를 줘서 썼었고
서비스의 경우는 개념 그대로 가져와서 사용했습니다.

만약 개발 경험이 많이 없거나 실무 경험이 없으신 분들은
자신이 썼던 개발 환경에서 3장에서 얘기하는 개념들을 봤거나 쓴 경험에 대해 얘기해 봐도 좋을 것 같습니다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

팩토리 방식으로 다른 사람이 만들어 놓은 것을 사용한 경험이 있습니다. 이 팩토리가 왜 필요한지에 대해서는 명확히 인지를 못했었는데 이번 기회에 복잡한 객체 생성의 절차를 캡슐화하는 목적으로 사용한다는 것을 알게 되었습니다.

Comment on lines +15 to +27
## 논의 주제

확실히 원래 책인 도메인 주도 설계 책에 비해 상당히 내용이 잘 압축되어 있고 챕터별로 주제 설명을 잘 해 둔 느낌이 있습니다.

실제 회사에서 개발 일 할때 도메인 주도 설계 방법으로 해 본 분은 없을거라 생각하는데
3장에서 설명하는 모델 주도 설계의 핵심적인 내용 중에 프레임워크나 라이브러리에서 지원하는 방식 말고
도메인 주도 설계를 알기 전에 비슷한 개념을 썼던 적이 있는지 얘기해 보면 어떨까 싶습니다.

저는 리파지토리는 이전에 웹 프론트엔드 할 때 썼던 개념인 스토어(Store)에 변화를 줘서 썼었고
서비스의 경우는 개념 그대로 가져와서 사용했습니다.

만약 개발 경험이 많이 없거나 실무 경험이 없으신 분들은
자신이 썼던 개발 환경에서 3장에서 얘기하는 개념들을 봤거나 쓴 경험에 대해 얘기해 봐도 좋을 것 같습니다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

만약 개발 경험이 많이 없거나 실무 경험이 없으신 분들은 자신이 썼던 개발 환경에서 3장에서 얘기하는 개념들을 봤거나 쓴 경험에 대해 얘기해 봐도 좋을 것 같습니다.

저도 비슷하게 흉내만 냈던 내용들이 좀 더 명확하게 개념이 잡혀서 좋았습니다. 특히 서비스부분이 가장 좋았던 것 같습니다 항상 위쪽에 더 큰 개념으로 객체에 대한 책임 부분이 강했는데 서비스라는 좋은 답을 얻은 것 같아서..

@jongfeel jongfeel removed the request for review from jintaeyeong March 23, 2025 23:41
@jongfeel jongfeel merged commit 3451cf1 into main Mar 24, 2025
1 check passed
@jongfeel jongfeel deleted the 494-도메인-주도-설계란-무엇인가-1-2-3장-2025-03-21 branch March 24, 2025 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

<도메인 주도 설계란 무엇인가?> 1, 2, 3장, 총 89페이지, 2025-03-21
7 participants