개발_프로그래밍

클린 아키텍처 - 23장. 프레젠터와 험블 객체 Presenters and Humble Objects

_랄프_ 2022. 10. 11. 06:16
728x90

23장 프레젠터와 험블 객체 Presenters and Humble Objects

 

기본적인 본질은 남기고 테스트하기 어려운 행위만 옮겨놓은 것을 험블 humble 객체라고 한다. GUI 영역을 프레젠터와 뷰로 분리할 때 뷰에 해당하는 것이 험블이다.

** Humble의 사전적 의미는 '겸손한', '변변찮은' 등이 있는데, 여기서는 '변변찮은' 혹은 '중요하지 않은'의 의미로 해석하면 될 것 같다.

 

 

'humble' : 네이버 사전 검색결과

33종 언어사전과 방대한 지식백과를 제공

dict.naver.com

 

 

프레젠터 Presenter 는 데이터를 받아 화면에 표현할 수 있는 포맷으로 만드는 역할을 한다. 가령 Date 객체를 전달받아 적절한 문자열로 만들고 이를 View model 이라고 부르는 간단한 데이터 구조에 담는다.

뷰 View 는 뷰 모델에서 이 데이터를 찾는다. 화면에 표시되고 어느정도 제어할 수 있는 요소는 모두 뷰 모델 내부에 문자열, boolean, enum 형태로 표현되며, 뷰는 이 데이터를 화면에 로드할 뿐 이외에 하는 일이 없다. 따라서 뷰는 보잘것없다. (humble이다)

험블은 데이터베이스 앞단에서 유스케이스의 요청을 처리하는 Database Gateway 에도 해당되고, 이 Database Gateway와 DB 사이에 있는 하이버네이트 Hibernate 같은 ORM도 포함된다. 서비스 리스너도 마찬가지이다.

아키텍처 경계에서 험블 객체를 사용하면 테스트 용이성을 크게 높일 수 있다.

<24장에서 계속>

 

 

728x90
반응형