3.5 단순화
시스템은 단순할수록 변화에 더 유연하게 대응할 수 있습니다. 따라서 아키텍처 팀은 항상 단순함을 추구해야 합니다. 경험에 따르면 아키텍처, 설계, 구현의 단순함은 시스템 수명과 가장 밀접하게 연관되어 있습니다.
단순하다는 것은 부정적인 의미가 아닙니다. 오히려 단순한 아키텍처는 강력하며 최소한의 메커니즘으로 많은 것을 성취할 수 있습니다. 이처럼 단순한 아키텍처가 강력한 이유는 소수의 강력하고 범용적인 설계 패턴이 포함되어 있기 때문입니다. 이러한 시스템에는 많은 구성 요소가 있더라도 그 구성 요소와 이를 연결하는 방식은 간단히 몇몇 패턴으로 정리할 수 있습니다.
단순함의 반대는 복잡함입니다. 복잡성은 여러 방식으로 측정할 수 있지만, 주로 시스템이 특별한 구성 요소와 예외적인 관계를 많이 가지고 있을 때 증가합니다. 복잡한 시스템은 기본적인 구조가 없어 체계적으로 설명하기가 어렵습니다. 그저 여러 구성 요소와 관계가 뒤섞인 상태일 가능성이 높습니다.