만들면서 배우는 클린 아키텍처
도서명:만들면서 배우는 클린 아키텍처
저자/출판사:톰,홈버그/위키북스
쪽수:168쪽
출판일:2021-11-26
ISBN:9791158392758
목차
▣ 01장: 계층형 아키텍처의 문제는 무엇일까?
___계층형 아키텍처는 데이터베이스 주도 설계를 유도한다
___지름길을 택하기 쉬워진다
___테스트하기 어려워진다
___유스케이스를 숨긴다
___동시 작업이 어려워진다
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 02장: 의존성 역전하기
___단일 책임 원칙
___부수효과에 관한 이야기
___의존성 역전 원칙
___클린 아키텍처
___육각형 아키텍처(헥사고날 아키텍처)
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 03장: 코드 구성하기
___계층으로 구성하기
___기능으로 구성하기
___아키텍처적으로 표현력 있는 패키지 구조
___의존성 주입의 역할
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 04장: 유스케이스 구현하기
___도메인 모델 구현하기
___유스케이스 둘러보기
___입력 유효성 검증
___생성자의 힘
___유스케이스마다 다른 입력 모델
___비즈니스 규칙 검증하기
___풍부한 도메인 모델 vs. 빈약한 도메인 모델
___유스케이스마다 다른 출력 모델
___읽기 전용 유스케이스는 어떨까?
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
___의존성 역전
▣ 05장: 웹 어댑터 구현하기
___웹 어댑터의 책임
___컨트롤러 나누기
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
___의존성 역전
▣ 06장: 영속성 어댑터 구현하기
___영속성 어댑터의 책임
___포트 인터페이스 나누기
___영속성 어댑터 나누기
___스프링 데이터 JPA 예제
___데이터베이스 트랜잭션은 어떻게 해야 할까?
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 07장: 아키텍처 요소 테스트하기
___테스트 피라미드
___단위 테스트로 도메인 엔티티 테스트하기
___단위 테스트로 유스케이스 테스트하기
___통합 테스트로 웹 어댑터 테스트하기
___통합 테스트로 영속성 어댑터 테스트하기
___시스템 테스트로 주요 경로 테스트하기
___얼마만큼의 테스트가 충분할까?
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 08장: 경계 간 매핑하기
___‘매핑하지 않기’ 전략
___‘양방향’ 매핑 전략
___‘완전’ 매핑 전략
___‘단방향’ 매핑 전략
___언제 어떤 매핑 전략을 사용할 것인가?
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
___왜 조립까지 신경 써야 할까?
▣ 09장: 애플리케이션 조립하기
___평범한 코드로 조립하기
___스프링의 클래스패스 스캐닝으로 조립하기
___스프링의 자바 컨피그로 조립하기
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
___경계와 의존성
▣ 10장: 아키텍처 경계 강제하기
___접근 제한자
___컴파일 후 체크
___빌드 아티팩트
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 11장: 의식적으로 지름길 사용하기
___왜 지름길은 깨진 창문 같을까?
___깨끗한 상태로 시작할 책임
___유스케이스 간 모델 공유하기
___도메인 엔티티를 입출력 모델로 사용하기
___인커밍 포트 건너뛰기
___애플리케이션 서비스 건너뛰기
___유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?
▣ 12장: 아키텍처 스타일 결정하기
___도메인이 왕이다
___경험이 여왕이다
___그때그때 다르다