도서/만들면서 배우는 클린 아키텍처 2

5~6장

어플리케이션: 특정 기능이나 작업을 수행하기 위해 설계된 소프트웨어 프로그램시스템 아키텍처에서 어플리케이션은 다음과 같은 관점에서 고려되어야 한다.1. 기능성  : 어플리케이션은 특정 기능이나 작업을 수행하기 위해 설계되며, 사용자나 다른 시스템과의 인터페이스를 통해 이런 기능들을 제공할 수 있어야 한다. 2. 모듈성  : 복잡한 시스템에서는 여러 어플리케이션들이 모듈화되어 각각의 기능이나 서비스를 독립적으로 제공할 수 있어야 한다.3. 상호작용  : 시스템 내의 다른 어플리케이션 또는 컴포넌트와 상호 작용하여 데이터를 교환하거나 서비스를 제공할 수 있어야 한다.4. 성능 및 확장성  : 아키텍처는 어플리케이션의 효율성, 확장성, 안정성을 고려해 설계되어야 한다.  : 클린 아키텍처에서 어플리케이션이란 ..

1~2장

1장- 전통적인 계층형 아키텍처 구조의 문제점전통적인 계층형 아키텍처 구조: 웹, 도메인, 영속성 계층으로 이루어져 있음각 계층의 역할은 다음과 같다.1. 웹 계층 : 웹과 가장 가까운 영역(표출단 계층)2. 도메인 계층 : 비즈니스 로직을 수행하는 영역(서비스 계층)3. 영속성 계층 : 데이터베이스와 가장 가까운 계층(매퍼 계층) : 계층간의 흐름은 상위 계층에서 하위계층으로 이어지며, 반대로 이루어질 수는 없다. 계층형 아키텍처 구조의 문제 1. 계층형 아키텍처는 데이터베이스 주도 설계를 유도한다. : 계층형 아키텍처의 각 계층의 의존성은 웹에서 도메인을 도메인에서 영속성 계층을 거쳐 최종적으로 데이터베이스를 향하게 하므로써 모든 계층이 데이터베이스를 바라보게 된다. : 위와 같은 의존성을 가질 경우..