- 좋은 아키텍처를 보면 어떤 시스템인지 파악할 수 있다.
- 예를 들어 Xcode 디렉터리 구조, 패키지에 담긴 소스 파일을 보고 '헬스 케어 시스템'이구나 소리칠 수 있어야 한다.
1.아키텍처의 테마
- 아키텍처는 유스케이스를 중점에 두어야 한다. 도서관 설계도의 유스케이스인 독서공간, 회의실, 진열실 등의 공간을 보면서 각 공간이 어떤 역할을 하는지를 파악할 수 있는 것 처럼 아키텍처도 유스케이스의 주제를 파악할 수 있도록 해야 한다.
2.아키텍처의 목적
- 아키텍처의 목적은 유스케이스를 중점으로 두는 것이다.
- 프레임워크, 데이터베이스, 웹서버 등 개발 환경 도구와 같은 세부사항들은 결정을 미룰 수 있어야 한다.
3.하지만 웹은?
- 웹은 입출력 방식이기 때문에 세부사항에 포함되므로 아키텍처에 영향을 주어서는 안된다.
- 근데 왜 웹을 얘기하는거지?
4.프레임워크는 도구일 뿐, 삶의 방식은 아니다.
- 프레임워크가 중요하긴 하나, 도구일 뿐이다. 아키텍처에 영향을 주어서는 안 된다.
5.테스트하기 쉬운 아키텍처
- 아키텍처가 유스케이스를 최우선으로 하고, 프레임워크와 적당한 거리를 둔다면 유스케이스에 대한 단위 테스트를 할 수 있어야 한다.
- 테스트를 위해 특정 웹서버, 데이터베이스가 필요한 상황이 생겨서는 안된다.