컴포넌트를 변경하는 이유는 오직 하나뿐이어야 한다.코드상의 어떤 의존성이든 그 방향을 바꿀 수(역전시킬 수) 있다.
package-private 접근 수준 이용해 패키지 간의 경계를 강화할 수 있다. 입력을 받는다.비즈니스 규칙을 검증한다.모델 상태를 조작한다.출력을 반환한다.유스케이스 코드가 도메인 로직에만 신경 써야 하고 입력 유효성 검증으로 오염되면 안 된다. 입력 유효성 검
05 웹 어댑터 구현하기 우리가 목표로 하는 아키텍처에서 외부 세계와의 모든 커뮤니케이션은 어댑터를 통해 이루어진다. 의존성 역전 애플리케이션 코어에서 실시간 데이터를 웹 어댑터로 보내고, 웹 어댑터에서 사용자 브라우저로 데이터를 전송하기 위해서는 반드시 포트가
07 아키텍처 요소 테스트하기 테스트 피라미드 기본 전제는 만드는 비용이 적고, 유지보수하기 쉽고. 빨리 실행되고, 안정적인 작은 크기의 테스트들에 대해 높은 커버리지를 유지 책에서의 정의 단위 테스트 일반적으로 하나의 클래스를 인스턴스화하고 해당 클래스의 인터
모든 의손성은 안쪽, 애플리케이션의 도메인 방향으로 향해야도메인 코드가 바깥 계층으로 안전우리가 제공한 조각들로 애플리케이션을 조립하는 책임코드가 많은면 불편각 클래스가 속한 패키지 외부에서 인스턴스를 생성 -> 전부 public스프링을 사용하자@Component@Co