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

23장 프레젠터와 험블 객체

by 오오오니 2025. 3. 18.

23장 프레전터와 험블 객체

비어 있음
2024년 9월 6일

험블 객체 패턴

디자인 패턴으로 테스트하기 어려운 행위와 테스트하기 쉬운 행위를 분리하기 쉽게 하는 방법
험블 : 테스트하기 어려운 행위를 모두 험블 객체로 옮긴다.
나머지 모듈 : 테스트하기 쉬운 행위를 옮긴다.
ex) GUI
험블 : 뷰
나머지 모듈 : 프레젠터

프레젠터와 뷰

프레전터는 테스트하기 쉬운 객체 : 화면에 표현할 수 있는 포맷으로 만든다.
뷰는 데이터룰 화면에 전달한다.

테스트와 아키텍처

험블 객체 패턴을 사용하면, 행위를 테스트하기 쉬운 부분과 테스트하기 어려운 부분으로 분리하면 아키텍처 경계가 정의된다.

데이터베이스 게이트웨이

유스케이스 인터랙터와 데이터베이스 사이에는 데이터베이스 게이트웨이가 위치한다.
유스케이스 계층은 SQL을 허용하지 않는다.
유스케이스 계층에 필요한 구현체는 데이터베이스 계층에 위치한다.
인터랙터는 업뮤 규칙을 캡슐화하기 때문에 험블 객체가 아니다.

데이터 매퍼

객체는 데이터 구조가 아니기 때문에 ORM은 데이터 매퍼라고 부르는 편이 좋다.
객체는 오퍼레이션의 집합이다.
ORM은 데이터베이스 계층에 위치하며 또 다른 험블 객체 경계를 형성한다.

서비스 리스너

서비스 경계를 생성하는 험블객체 패턴을 발견할 수 있다.
서비스 → 외부 : 데이터를 포맷
외부 → 서비스 서비스 리스너가 서비스 인테페이스로부터 데이터 수신

결론

각 아키텍처 경계마다 경계 가까이 숨어 있는 험블 객체 패턴을 발견할 수 있다.

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

22장 클린 아키텍처  (0) 2025.03.18
21장 소리치는 아키텍처  (0) 2025.03.18
20장 업무 규칙  (0) 2025.03.18
19장 정책과 수준  (0) 2025.03.18
18장 경계 해부학  (0) 2025.03.18