본문 바로가기
책/클린 아키텍처

16장 독립성

by 오오오니 2025. 3. 18.

16장 독립성

비어 있음
2024년 7월 25일

좋은 아키텍처가 지원해야 하는 것

시스템의 유스케이스
시스템의 운영
시스템의 개발
시스템의 배포

유스케이스

좋은 아키텍처는 행위를 명확히 하고 외부로 드러내 시스템 구조 자체에서 유스케이스가 한눈에 드러나게 만들 수 있다.

운영

시스템이 수 밀리초 안에 3차원의 빅데이터 테이블에 질의해야 한다면 이러한 형태를 지원해서 운영작업을 할 수 있는 형태로 아키텍처를 구조화 해야 한다.

개발

콘웨이 법칙 : 그 조직과 닮은 구조의 설계를 만든다.
다양한 관심사를 가진 많은 팀이 있는 조직에서는 각 팀이 독립적으로 행동하기 편한 아키텍처를 확보해야 한다.

배포

아키텍처는 배포 용이성을 결정하는데 중요한 역할을 한다.
그렇게 하기 위해서 시스템을 컴포넌트 단위로 분할해 격리시켜야 한다.

계층 결합 분리 & 유즈케이스 결합 분리

다른 이유로 변경되는 것을 분리한다.
ui, 업무 규칙, 데이터베이스
유스 케이스
⇒ 서로 다른 이유로 변경되는 요소들의 결합을 분리하면 기존것에 영향을 주지 않고도 유스케이스를 추가할 수 있다.

결합분리 모드

운영 측면에서 이점을 살릴 때 결합을 분리할 적절한 모드를 선택해야 한다.
msa처럼 때때로 컴포넌트를 서비스 수준까지도 분리해야 한다.

중복

진짜 중복
거짓된 중복
서로 다른 속도와 다른 이유로 변경된다면 이 두 코드를 진짜 중복이 아니다.
데이터베이스와 비슷한 뷰 모델이 있을 때 db 객체를 그대로 전달하고 싶은 유혹이 있다.
→ 거짓된 중복이다.
뷰모델을 만들어서 계층 간 겨합을 적절하게 분리하자.

' > 클린 아키텍처' 카테고리의 다른 글

18장 경계 해부학  (0) 2025.03.18
17장 경계: 선 긋기  (0) 2025.03.18
15장 아키텍처란?  (0) 2025.03.18
13장 컴포넌트 응집도  (0) 2025.03.18
11장 DIP: 의존성 역전 원칙  (0) 2025.03.18