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

16장 대규모 구조 #1013

Open
3 of 5 tasks
Tracked by #585
jongfeel opened this issue Nov 16, 2024 · 0 comments
Open
3 of 5 tasks
Tracked by #585

16장 대규모 구조 #1013

jongfeel opened this issue Nov 16, 2024 · 0 comments
Assignees
Labels
2024 Domain-Driven Design 도메인 주도 설계 - 소프트웨어의 복잡성을 다루는 지혜

Comments

@jongfeel
Copy link
Owner

jongfeel commented Nov 16, 2024

16장 대규모 구조

Thousands of people worked independently to create the AIDS Quilt.
image

MODULAR(모듈성)을 중심으로 분해해도 큰 모델은 파악하기에 너무 복잡할 수 있다.
BOUNDED CONTEXT에 의한 엄격한 분리는 손상과 혼동을 방지하지만 그것 자체로 시스템이 전체적으로 보기 쉬워지는 것은 아니다.
디스틸레이션은 보조저인 요소와 CORE DOMAIN과의 관계를 이해해야 한다.

프로젝트 규모와 상관없이 사람들은 시스템의 다른 부분에서 어느 정도 독립적으로 일해야 한다.
조율과 규칙이 없으면 동일한 문제라도 다양한 형식과 별개의 해법으로 혼동이 일어나게 되고
이해하기 어려워지면 큰 그림을 보기가 불가능해진다.

큰 시스템에 해당 시스템의 요소를 전체 설계에 걸친 패턴에서의 역할 측면에서 해석하게 할 수 있는 지배적인 원칙이 없다면 개발자들은 나무만 보고 숲을 보지 못한다.
우리는 전체의 세부사항을 깊이 파고들지 않고도 전체의 각 부분이 담당하는 역할을 이해할 수 있어야 한다.

"대규모 구조"는 넓은 시각으로 시스템에 관해 토의하고 이해하게끔 돕는 언어다.
고수준의 개념이나 규칙, 또는 둘 모두는 전체 시스템에 대한 설계 패턴을 확립한다.

전체적인 관점에서 해당 부분의 위치를 어느 정도 이해하는 데 도움을 주는 규칙이나 규칙과 관계의 패턴을 고안해야 한다.

대규모 구조는 UML로 표현할 수도 없고 그럴 필요도 없다.
대규모 구조는 모델과 설계의 형태를 만들고 설명하지만 UML에 나타나지는 않는다.
대규모 구조는 설계에 관한 또 다른 수준의 의사소통을 제공한다.

대규모 구조는 프로젝트를 위험에 빠지지 않게 해줄 수 있지만
프로젝트에 어울리지 않는 구조는 개발에 심각한 장애물로 작용할 수 있다.

Figure 16.1. Some patterns of large-scale structure
image

구조는 얼마나 제약성을 지녀야 하는가?

잘 맞아 떨어지는 구조를 향한 리팩터링

최소주의

의사소통과 자기 훈련

재구조화가 유연한 설계를 낳는다

디스틸레이션은 부하를 줄인다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2024 Domain-Driven Design 도메인 주도 설계 - 소프트웨어의 복잡성을 다루는 지혜
Projects
Status: In progress
Development

No branches or pull requests

1 participant