-
소리치는 아키텍처(screaming architecture)
-
의도를 우리에게 소리치는 아키텍처
-
유스케이스를 구현한 코드는 클래스명만으로도 찾을 수 있게 됨
'송금하기' 유스케이스- AccountService + SendMoneyService
-
-
나의 어플리케이션 아키텍처는 무엇이라고 소리치고 있는가
-
집의 설계도면은 "집이야"라고 소리치고, 도서관의 설계도면은 "도서관이야"라고 소리칠 것이다.
-
나의 어플리케이션은 "결제 시스템이야"라고 소리칠 것인가? 아니면 "Spring/JPA야", "Rails야"라고 소리치는가
-
-
유스케이스 주도 접근법Use Case Driven Approach
-
소프트웨어 아키텍처는 시스템의 유스케이스를 지원하는 구조
-
주택이나 도서관의 계획서가 해당 건축물의 유스케이스에 대해 소리치는 것처럼, 소프트웨어 어플리케이션의 아키텍처로 어플리케이션의 유스케이스에 대해 소리쳐야 한다.
-
-
아키텍처는 프레임워크에 대한 것이 아니다.
-
아키텍처를 프레임워크로부터 제공받아서는 절대 안된다.
-
유스케이스에 대해서 아키텍처가 나와야하지 스프링 어노테이션
Repository
,Controller
Service
로부터 아키텍처를 구성해서는 안된다.-
해당 계층 관점으로 볼 수도 있지만, 이는 계층형 아키텍처가 된다.
-
-
-
무엇으로 만드는지가 아니라 목적이 중심이 되어야 한다.
-
웹은 전달 메커니즘
-
입력, 출력만 있을 뿐. 웹이 시스템 구조를 지배해서는 안된다.
-
-
테스트하기 쉬운 아키텍처
-
프레임워크를 전혀 준비하지 않더라도 필요한 유스케이스 전부에 대해 단위 테스트를 할 수 있어야 한다.
-
테스트를 돌리는데 웹서버가 반드시 있어야 하는 상황이 되어서는 안 된다.
-