도시를 세운다면

도시 - 추상화모듈화 덕분에 큰 그림을 이해하지 못할지라도 개인이 관리하는 구성요소는 효율적으로 돌아감

⇒ 시스템 수준에서도 코드를 깨끗하게 유지하는 방법

시스템 제작과 시스템 사용을 분리하라

확장

TDD(테스트 주도 개발)과 리펙터링으로 얻어지는 깨끗한 코드는 코드 수준에서 시스템을 조정하고 확장하기 쉽게 만든다.

관심사를 적절히 분리해 관리한다면 소프트웨어 아키텍처는 발전할 수 있다.