- 시스템이 세 가지 컴포넌트(UI, 업무 규칙, 데이터베이스)로만 구성된다고 생각하지 쉽지만, 대다수 시스템에서 컴포넌트 개수는 이보다 훨씬 많다
움퍼스 사냥 게임
- 모험 게임인 움퍼스 사냥은 텍스트를 기반으로 하는 게임
- 소스 코드 의존성을 적절히 관리하면 UI 컴포넌트가 어떤 언어를 사용하더라도 게임 규칙 재사용 가능
- 그림 25.1 UI 컴포넌트가 어떤 언어를 사용하더라도 게임 규칙을 재사용 가능
- 또한 게임의 상태를 영속적인 저장소에 유지한다고 가정하면 게임 규칙이 이러한 세부사항을 알기를 원하지 않는다
- 그림 25.2 의존성 규칙 준수하기
클린 아키텍처?
- UI에서 언어가 유일한 변경의 축은 아니다. 이 밖에도 텍스트를 주고 받는 메커니즘이 다양해질 수도 있다
- 그림 25.3 개선된 다이어그램