-
33장 - 사례 연구: 비디오 판매클린 코드(Clean Code)/클린 아키텍처요약 2023. 1. 27. 00:01
뛰어난 아키텍트가 일을 처리하는 과정과 결과 예시
비디오를 판매하는 소프트웨어에서 아키텍트가 일을 처리하는 과정과 결정을 내리는 과정을 보여주고자 합니다.
1단계: 액터와 유스 케이스를 식별하기
제작자, 구매자, 관리자, 시청자로 엑터를 구분합니다.
엑터는 시스템이 변경되어야 할 네 가지 주요 근원이 됩니다.
이때 유사한 유스케이스는 식별해서 초기에 통합하는 방법을 찾습니다. (유스 케이스 추상화)
2단계 : 컴포넌트 아키텍츠 그리기
뷰, 프레젠터, 인터랙터, 컨트롤러로 분리된 전형적인 분할된 컴포넌트 아키텍처를 그릴 수 있습니다.
각 컴포넌트는 단일 .jar 파일 또는 단일 .dll 파일에 해당합니다.
하지만 꼭 모두 배포할 필요는 없고 선택적으로 배포방식을 조정할 수 있습니다.
예를 들어 다섯 개의 .jar파일로 합칠 수도 있으며 뷰와 프레젠터를 같은 .jar에 두고 나머지를 개별 .jar파일에 둘 수 있습니다.
의존성 관리
제어흐름은 오른쪽에서 왼쪽으로 이동합니다.
입력이 컨트롤러에서 발생하면 인터랙터에 의해 처리되어 결과가 만들어집니다.
그런 후 프레젠터가 결과의 포맷을 변경하고, 뷰가 화면에 표시합니다.
항상 더 높은 수준의 정책을 포함하는 컴포넌트를 향하며 저수준의 세부사항에서 발생한 변경이 상위로 파급되어 상위 수준의 정책에 영향을 미치지 않음을 보장할 수 있습니다.
'클린 코드(Clean Code) > 클린 아키텍처요약' 카테고리의 다른 글
34장 - 빠져 있는 장 (0) 2023.01.28 26장 - 메인 컴포넌트 (0) 2023.01.20 25장 - 계층과 경계 (0) 2023.01.19 24장 - 부분적 경계 (0) 2023.01.18 23장 - 프레젠터와 험블 객체 (0) 2023.01.15