Table of Contents 앱-티튜드 테스트 타깃-하드웨어 병목현상 클린 임베디드 아키텍처는 테스트하기 쉬운 임베디드 아키텍처다 계층 하드웨는 세부사항이다. HAL 사용자에게 하드웨어 세부사항을 드러내지 말라 프로세서는 세부사항이다. 운영체제는 세부사항이다. ...
클린 아키텍처 - 테스트 경계
Table of Contents 시스템 컴포넌트인 테스트 테스트를 고려한 설계 테스트 API 구조적 결합 보안 결론 테스트는 시스템의 일부이며, 아키텍처에도 관여한다. 시스템의 나머지 요소가 아키텍처에 관여하는 것과 동등하게 말이다. 시스템 컴포넌트인 테스트 아키텍처 관점에서는 모든 테스트가 동일하다. 테스트는 태...
클린 아키텍처 - '크고 작은 모든' 서비스들
Table of Contents 서비스 아키텍처? 서비스의 이점? 횡단 관심사 결론 서비스 지향 ‘아키텍처’와 마이크로서비스 ‘아키텍처’는 최근에 큰 인기를 끌고 있다. 그 이유는 다음과 같다. 서비스를 사용하면 상호 결합이 철저하게 분리되는 것처럼 보인다. 이는 일부만 맞는 말이다. 서비스를 사용하면 개발과 배포 독립...
클린 아키텍처 - 부분적 경계
Table of Contents 마지막 단계를 건너뛰기 일차원 경계 퍼사드 결론 아키텍처 경계를 완벽하게 만드는 데는 비용이 많이 든다. 쌍방향의 다형적 Boundary 인터페이스, Input과 Output을 위한 데이터 구조를 만들어야 할 뿐만 아니라, 두 영역을 독립적으로 컴파일하고 배포할 수 있는 컴포넌트로 격리하는 데 필...
클린 아키텍처 - 프레젠터와 험블 객체
Table of Contents 험블 객체 패턴 프레젠터와 뷰 테스트와 아키텍처 데이터베이스 게이트웨이 데이터 매퍼 서비스 리스너 결론 프레젠터는 험블 객체(Humble Object) 패턴을 따른 형태로, 아키텍처 경계를 식별하고 보호하는 데 도움이 된다. 실제로 이전 장 “클린 아키텍처”는 험블 객체 구현체들로 가득 ...
클린 아키텍처 - 클린 아키텍처
Table of Contents 의존성 규칙 엔티티 유스케이스 인터페이스 어댑터 프레임워크와 드라이버 원은 네 개여야만 하나? 경계 횡단하기 경계를 횡단하는 데이터는 어떤 모습인가 결론 지난 수십 년간 우리는 시스템 아키텍처와 관련된 여러 가지 아이디어를 봐왔다. 아래의 내용도 여기에 포함된다. 육각형 아...
클린 아키텍처 - 소리치는 아키텍처
Table of Contents 아키텍처의 테마 아키텍처의 목적 하지만 웹은? 프레임워크는 도구일 뿐, 삶의 방식은 아니다 테스트하기 쉬운 아키텍처 결론 아키텍처의 테마 Object Oriented Software Engineering에서 이바 야콥슨은 소프트웨어 아키텍처는 시스템의 유스케이스를 지원하는 구조라고 지적...
클린 아키텍처 - 업무 규칙
Table of Contents 엔티티 유스케이스 요청 및 응답 모델 결론 애플리케이션을 업무 규칙과 플러그인으로 구분하려면 업무 규칙이 실제로 무엇인지를 잘 이해해야만 한다. 엄밀하게 말하면 업무 규칙 은 사업적으로 수익을 얻거나 비용을 줄일 수 있는 규칙 또는 절차다. 더 엄밀하게 말하면 컴퓨터상으로 구현했는지와 상관없이, 업...
클린 아키텍처 - 정책과 수준
Table of Contents 수준 결론 소프트웨어 시스템이란 정책을 기술한 것이다. 실제로 컴퓨터 프로그램의 핵심부는 이게 전부다. 대다수의 주요 시스템에서 하나의 정책은 이 정책을 서술하는 여러 개의 조그만 정책들로 쪼갤 수 있다. 소프트웨어 아키텍처를 개발하는 기술에는 이러한 정책을 신중하게 분리하고, 정책이 변경되는 양상에 ...
클린 아키텍처 - 경계 해부학
Table of Contents 경계 횡단하기 두려운 단일체 배포형 컴포넌트 스레드 로컬 프로세스 서비스 결론 시스템 아키텍처는 일련의 소프트웨어 컴포넌트와 그 컴포넌트들을 분리하는 경계에 의해 정의된다. 이러한 경계는 다양한 형태로 나타난다. 여기에서는 이러한 형ㅌ태 중에서 가장 흔한 몇 가지를 살펴보려고 한다. ...