728x90
■ 33장 사례 연구: 비디오 판매 Case Study: Video Sales
웹사이트에서 비디오를 판매하는 소프트웨어 사례를 적용해 보자. 아래는 유스케이스를 분석한 것이다.
액터는 4개인데, 단일 책임 원칙에 따라 신규 기능의 추가나 기존 기능의 변경은 반드시 이 4개의 액터에게 기능을 제공하기 위해서여야 한다.
아래는 초기 컴포넌트 아키텍처의 모습이다.
각 경계를 구분으로 뷰, 프레젠터, 인터렉터, 컨트롤러가 나눠져 있는 전형적인 모습니다. 각 컴포넌트는 jar나 dll에 해당하지만, 뷰와 프레젠터를 합쳐서 같은 jar에 두고 나머지는 각각의 jar로 만들거나 나머지를 하나의 jar로 합치는 방법도 가능하다.
이처럼 선택지를 열어두면(컴포넌트를 독립적으로 컴파일/빌드 할 수 있는 환경으로 구성해 두면) 이후 시스템이 변경되는 상황에 따라 배포 방식을 조정할 수 있다.
위 아키텍처에서 제어흐름은 오른쪽에서 왼쪽으로 흐르고, 반대 방향의 화살표는 의존성 규칙을 준수하는 모습이다. 의존성은 높은 수준의 정책을 포함하는 방향으로 향한다.
<34장에서 계속>
반응형
728x90
반응형
'개발_프로그래밍' 카테고리의 다른 글
고려사항 (0) | 2024.08.10 |
---|---|
Clean Architecture (클린 아키텍처) - 34장. 빠져 있는 장 The Missing Chapter (마지막 장) (3) | 2023.05.13 |
Clean Architecture (클린 아키텍처) - 32장. 프레임워크는 세부사항이다 Frameworks Are Details (0) | 2023.05.10 |
클린 아키텍처 - 31장. 웹은 세부사항이다 The Web Is a Detail (0) | 2022.11.22 |
클린 아키텍처 - 30장. 데이터베이스는 세부사항이다 The Database Is a Detail (0) | 2022.11.21 |