이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
[1부] 객체지향 ▣ 들어가며 개발을 배워야 한다 __기술 vs. 개발 __개발 능력을 길러야 하는 이유 __스프링과 JPA는 기술이다 이 책을 출간하게 된 이유 ▣ 01장: 절차지향과 비교하기 1.1 책임과 역할 1.2 TDA 원칙 ▣ 02장: 객체의 종류 2.1 VO(Value Object: 값 객체) __2.1.1 불변성 __2.1.2 동등성 __2.1.3 자가 검증 2.2 DTO(Data Transfer Object: 데이터 전송 객체) 2.3 DAO(Data Access Object: 데이터 접근 객체) 2.4 엔티티(Entity: 개체) __2.4.1 도메인 엔티티 __2.4.2 DB 엔티티 __2.4.3 JPA 엔티티 __2.4.4 해석 2.5 객체의 다양한 종류 ▣ 03장: 행동 3.1 덕 타이핑 3.2 행동과 구현 3.3 인터페이스 3.4 행동과 역할 3.5 메서드 ▣ 04장: SOLID 4.1 SOLID 소개 __4.1.1 단일 책임 원칙 __4.1.2 개방 폐쇄 원칙 __4.1.3 리스코프 치환 원칙 __4.1.4 인터페이스 분리 원칙 __4.1.5 의존성 역전 원칙 4.2 의존성 __4.2.1 의존성 주입 __4.2.2 의존성 역전 __4.2.3 의존성 역전과 스프링 __4.2.4 의존성이 강조되는 이유 4.3 SOLID와 객체지향 4.4 디자인 패턴 ▣ 05장: 순환 참조 5.1 순환 참조의 문제점 __5.1.1 무한 루프 __5.1.2 시스템 복잡도 5.2 순환 참조를 해결하는 방법 __5.2.1 불필요한 참조 제거 __5.2.2 간접 참조 활용 __5.2.3 공통 컴포넌트 분리 __5.2.4 이벤트 기반 시스템 사용 5.3 양방향 매핑 5.4 상위 수준의 순환 참조 [2부] 스프링과 객체지향 설계 ▣ 06장: 안티패턴 6.1 스마트 UI 6.2 양방향 레이어드 아키텍처 __6.2.1 레이어별 모델 구성 __6.2.2 공통 모듈 구성 6.3 완화된 레이어드 아키텍처 6.4 트랜잭션 스크립트 ▣ 07장: 서비스 7.1 Manager 7.2 서비스보다 도메인 모델 7.3 작은 기계 7.4 조언 ▣ 08장: 레이어드 아키텍처 8.1 레이어드 아키텍처의 최소 조건 8.2 잘못된 레이어드 아키텍처 __8.2.1 JPA 엔티티 우선 접근 __8.2.2 API 엔드포인트 우선 접근 __8.2.3 본질을 다시 생각하기 8.3 진화하는 아키텍처 __8.3.1 인지 모델 변경하기 __8.3.2 JPA와의 결합 끊기 __8.3.3 웹 프레임워크와의 결합 끊기 8.4 새로운 접근법 8.5 빈약한 도메인 ▣ 09장: 모듈 9.1 모듈성 __9.1.1 독립성 __9.1.2 은닉성 9.2 패키지 구조 __9.2.1 계층 기반 구조 __9.2.2 도메인 기반 구조 __9.2.3 정리 9.3 패키지와 모듈 ▣ 10장: 도메인 10.1 소프트웨어 개발의 시작 10.2 애플리케이션의 본질 10.3 도메인 모델과 영속성 객체 __10.3.1 통합하기 전략 __10.3.2 구분하기 전략 __10.3.3 평가 ▣ 11장: 알아두면 유용한 스프링 활용법 11.1 타입 기반 주입 11.2 자가 호출 [03부] 테스트 ▣ 12장: 자동 테스트 12.1 Regression 12.2 의도 12.3 레거시 코드 ▣ 13장: 테스트 피라미드 13.1 구글의 테스트 피라미드 13.2 테스트 분류 기준 13.3 소형 테스트의 중요성 ▣ 14장: 테스트 대역 14.1 Dummy 14.2 Stub 14.3 Fake 14.4 Mock __14.4.1 상태 기반 검증 __14.4.2 행위 기반 검증 __14.4.3 상태 기반 vs. 행위 기반 14.5 Spy 14.6 정리 ▣ 15장: 테스트 가능성 15.1 테스트를 어렵게 만드는 요소 __15.1.1 숨겨진 입력 __15.1.2 숨겨진 출력 15.2 테스트가 보내는 신호 ▣ 16장: 테스트와 설계 16.1 테스트와 SRP 16.2 테스트와 ISP 16.3 테스트와 OCP, DIP 16.4 테스트와 LSP ▣ 17장: 테스트와 개발 방법론 17.1 TDD 17.2 BDD [부록] A: 포트-어댑터 패턴 B: 클린 아키텍처 C: 소프트웨어 엔지니어 D: 실용주의 E: 참고 자료
|
|
★ 이 책에서 다루는 내용 ★◎ 객체지향◎ SOLID◎ 스프링 안티 패턴◎ 스프링과 DDD◎ 레이어드 아키텍처◎ 헥사고날 아키텍처◎ 테스트가 필요한 이유◎ 테스트와 설계◎ 테스트 대역◎ TDD와 BDD
|