
96
1
부
도메인 모델링을 지원하는 아키텍처 구축
이 책에서는 함수형 합성과 객체 지향 구성 중 무엇을 사용하는가?
두 가지 다 사용한다. 도메인 모델은 전혀 의존성이 없고 부수 효과도 없다. 따라서 이 부분은 함
수형 코드다. 도메인 모델을 둘러싼 서비스 계층(
4
장 참조)은 시스템을 구석구석 조작할 수 있게
해주며 의존성 주입을 사용해 서비스에 상태가 있는 구성 요소를 주입하므로 여전히 단위 테스
트가 가능하다.
의존성 주입을 더 명시적이며 중앙 집중식으로 수행하는 방법에 대해서는
13
장을 살펴보기 바
란다.
3.4
마치며
비즈니스 로직과 지저분한
I
/
O
사이의 인터페이스를 단순화하여 시스템을 더 쉽게 테스트 및
유지보수할 수 있게 만드는 아이디어가 이 책에서 반복적으로 나타난다. 올바른 추상화를 찾는
건 어렵다. 다음은 올바른 추상화를 찾기 위해 여러분 자신에게 던질 수 있는 몇 가지 질문과
휴리스틱
heuristic
이다.
●
지저분한 시스템의 상태를 표현할 수 있는 익숙한 파이썬 객체가 있는가? 그렇다면 (이 파이썬 객체를
활용해 ) 시스템 상태를 반환하는 단일 함수를 상상해보라.
●
시스템의 구성 요소 중 어떤 부분에 선을 그을 수 있는가? 이런 (선을 통해 구분되는 각각의 ) 추상화 사
이의 이음매 (
https://oreil.ly/zNUGG
)를 어떻게 ...