본문 바로가기
책/클린 아키텍처

21장 소리치는 아키텍처

by 오오오니 2025. 3. 18.

21장 소리치는 아키텍처

비어 있음
2024년 8월 23일
도서관과 주택의 건물 설계도를 보면은 각각 어떤 공간인지 알아챌 수 있다.
아키텍처가 “도서관이야!”, “집이야!” 라고 소리치기 때문이다.
우리의 애플리케이션이 “재고 관리 시스템이야!” 라고 소리치는가
아니면” 스프링이야!!” 라고 소리치는가

🏘️ 아키텍처의 테마

소프트웨어 아키텍처는 시스템의 유스케이스를 지원하는 구조다.
소프트웨어 애플리케이션의 아키텍처도 애플리케이션의 유스케이스에 대해 소리쳐야 한다.
아키텍처를 프레임워크로부터 제공받아서는 절대 안된다.
프레임워크는 도구이지 아키텍처가 준수해야 할 대상이 아니다.
프레임워크 중심으로 만들어버리면 유스케이스가 중심이 되는 아키텍처가 나올 수 없다.

🏘️ 아키텍처의 목적

좋은 소프트웨어 아키텍처는 프레임워크, 데이타베이스, 웹 서버, 그리고 여타 결정들을 미룰 수 있도록 만든다.
좋은 아키텍처는 유스케이스에 중점을 두며, 지엽적인 관심사에 대한 결합은 분리시킨다.

🏘️ 하지만 웹은?

웹은 아키텍처가 아니라 전달 매커니즘이다.
시스템 구조를 지배해서는 안된다.
웹으로 전달할지 여부는 미루어야 할 결정사항이다.
시스템 아키텍처는 시스템이 어떻게 전달될지에 대해 가능하다면 아무것도 몰라야 한다.

🏘️ 프레임워크는 도구일 뿐, 삶의 방식은 아니다.

프레임워크는 상당히 유용하지만 신봉하면 안된다.
프레임워크가 모든 것을 하게 하자 ! 라는 태도를 취하면 안된다.
프레임워를 사용하지 않으려면 어떻게 해야할지를 스스로에게 물어보라
어떻게 하면 유스케이스에 중점을 둔 채 그대로 보존할 수 있을지를 생각하라

🏘️ 테스트하기 쉬운 아키텍처

아키텍처가 유스케이스를 최우선으로 한다면 프레임워크를 준비하지 않더라도 유스케이스에 대해 단위 테스트를할 수 있어야 한다.
프레임워크로 인한 어려움을 겪지 않고도 만드시 모두를 그대로 테스트할 수 있어야 한다.

🏘️ 결론

아키텍처는 시스템을 이야기해야 하며, 시스템에 적용한 프레임워크에 대해 이야기 해서는 안된다.
새로 합류한 프로그래머는 시스템이 어떻게 전달될지 알지 못한 상태에서도 시스템의 모든 유스케이스르 이해할 수 있어야 한다.

' > 클린 아키텍처' 카테고리의 다른 글

23장 프레젠터와 험블 객체  (0) 2025.03.18
22장 클린 아키텍처  (0) 2025.03.18
20장 업무 규칙  (0) 2025.03.18
19장 정책과 수준  (0) 2025.03.18
18장 경계 해부학  (0) 2025.03.18