1장 설계와 아키텍처란?
소프트웨어 아키텍처는 코드로부터 시작한다.
SOLID 원칙의 목적은 중간 수준의 소프트웨어 구조가 아래와 같도록 만드는데 있다. - 변경에 유연하다 - 이해하기 쉽다 - 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 된다.
SOLID 원칙이 벽과 방에 벽돌을 배치하는 방법을 알려준다면 컴포넌트 원칙은 빌딩에 방을 배치하는 방법을 설명해준다.
소프트웨어 아키텍트라면 코드에서 탈피하여 고수준의 문제에 집중해야 한다는 거짓말에 절대로 속아 넘어가서는 안된다. 코드와 동떨어져서는 안된다.
애플리케이션 내부 데이터의 구조는 시스템 아키텍처에서 대단히 중요하다. 하지만 데이터 베이스는 데이터 모델이 아니다. 이러한 유틸리티는 저수준의 세부사항일 뿐이라서 아키텍처와는 관련이 없다.