책 이미지
책 정보
· 분류 : 전자책 > 컴퓨터/모바일 > 컴퓨터 공학 > 자료구조/알고리즘
· ISBN : 9791158396909
· 출판일 : 2026-07-10
목차
▣ 01장: 유지보수성
유지보수성은 도대체 무엇을 의미하는가?
유지보수성이 기능성을 가능하게 한다
유지보수성은 개발자 즐거움을 만들어낸다
유지보수성은 의사결정을 지원한다
유지보수성 유지하기
▣ 02장: 계층의 문제점
데이터베이스 주도 설계를 조장한다
지름길을 조장한다
테스트하기 어려워진다
유스케이스를 숨긴다
병렬 작업이 어려워진다
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 03장: 의존성 역전
단일 책임 원칙
부수효과에 관한 이야기
의존성 역전 원칙
클린 아키텍처
헥사고날 아키텍처
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 04장: 코드 구성하기
계층별 구성
기능별 구성
아키텍처적으로 표현력 있는 패키지 구조
의존성 주입의 역할
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 05장: 유스케이스 구현하기
도메인 모델 구현하기
유스케이스 간단 소개
입력 검증
생성자의 위력
다양한 유스케이스에 대한 다양한 입력 모델
비즈니스 규칙 검증
풍부한 도메인 모델 vs. 빈약한 도메인 모델
다양한 유스케이스에 대한 다양한 출력 모델
읽기 전용 유스케이스는 어떻게 할까?
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 06장: 웹 어댑터 구현하기
의존성 역전
웹 어댑터의 책임
컨트롤러 쪼개기
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 07장: 영속성 어댑터 구현하기
의존성 역전
영속성 어댑터의 책임
포트 인터페이스 나누기
영속성 어댑터 나누기
스프링 데이터 JPA를 사용한 예제
데이터베이스 트랜잭션은 어떻게 할까?
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 08장: 아키텍처 요소 테스트하기
테스트 피라미드
단위 테스트로 도메인 엔티티 테스트하기
단위 테스트로 유스케이스 테스트하기
통합 테스트로 웹 어댑터 테스트하기
통합 테스트로 영속성 어댑터 테스트하기
시스템 테스트로 주요 경로 테스트하기
테스트는 어느 정도면 충분할까?
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 09장: 경계 간 매핑
‘매핑하지 않기’ 전략
‘양방향’ 매핑 전략
‘완전’ 매핑 전략
‘단방향’ 매핑 전략
언제 어떤 매핑 전략을 사용할까?
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 10장: 애플리케이션 조립하기
왜 조립에 신경 써야 할까?
일반 코드를 통한 조립
스프링의 클래스패스 스캔을 통한 조립
스프링 자바 컨피그를 통한 조립
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 11장: 의식적으로 지름길 택하기
지름길이 깨진 유리창처럼 위험한 이유
깨끗하게 시작할 책임
유스케이스 간 모델 공유
도메인 엔티티를 입력 또는 출력 모델로 사용하기
인커밍 포트 건너뛰기
서비스 건너뛰기
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 12장: 아키텍처 경계 강제하기
경계와 의존성
가시성 제한자
컴파일 후 적합성 함수
빌드 아티팩트
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 13장: 여러 바운디드 컨텍스트 관리하기
바운디드 컨텍스트당 헥사곤 하나씩?
분리된 바운디드 컨텍스트
적절히 결합된 바운디드 컨텍스트
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 14장: 소프트웨어 아키텍처에 대한 컴포넌트 기반 접근법
컴포넌트를 통한 모듈성
사례 연구: ‘체크 엔진’ 컴포넌트 구축
컴포넌트 경계 강제하기
이것이 유지보수 가능한 소프트웨어를 구축하는 데 어떻게 도움이 될까?
▣ 15장: 아키텍처 스타일 결정하기
간단하게 시작하라
도메인을 진화시켜라
경험을 믿어라
상황에 따라 다르다















