본문 바로가기

책이야기

[리뷰]실전 자바 소프트웨어 개발

반응형

[한줄평]

최신 자바 개발 기법을 배우고싶다면 바로 이책 입니다.

 

[목차구성]

chapter 1 여행의 시작

chapter 2 입출금 내역 분석기

chapter 3 입출금 내역 분석기 확장판

chapter 4 문서 관리 시스템

chapter 5 비즈니스 규칙 엔진

chapter 6 트우터

chapter 7 트우터 확장판

chapter 8 결론

 

[이 책의 특징]

ㆍ핵심 디자인 원칙을 배워 유지보수 가능한 코드 작성하기

ㆍ유연성 높은 코드를 작성하고 예외 처리하기

ㆍ결합도, 응집도, SOLID 원칙을 이해하고 코드에 적용하기

ㆍ테스트 주도 개발로 새로운 설계 문제 해결하기

ㆍ큰 그림부터 애플리케이션 도메인의 핵심까지 거꾸로 생각해보기

ㆍ함수형 프로그래밍 개념을 이해하고 자바로 사용해보기

 

[대상 독자]

ㆍ막 대학을 졸업했거나 프로그래밍 경력이 조금 생기기 시작한 주니어 개발자

ㆍC#, C++, 파이썬 등 다른 프로그래밍 언어를 사용하다가 자바를 사용하기 시작한 개발자

ㆍ언어 자체를 빨리 배우도 싶거나 자바 코드를 구현하는데 중요한 원칙, 모범 사례, 관용 표현 등 다시 정리 하고 싶은 경력 개발자

 

[장별 요약]

1장 여행의 시작

책에서 사용하는 개념과 원칙을 간단히 소개합니다.

 

2장 입출금 내역 분석기

사람들이 자신의 재정 상황을 더 잘 이해하도록 은행 계좌 내역을 분석하는 프로그램을 구현합니다. 이 과정에서 단일 책임 원칙, 결합도, 응집도 같은 핵심 객체지향 디자인 기법을 배웁니다.

 

3장 입출금 내역 분석기 확장판

2장에서 만든 코드에 전략 디자인 패턴, 개방/폐쇄 원칙으로 기능을 추가하고, 예외를 이용해 실패를 처리하는 방법을 배웁니다.

 

4장 문서 관리 시스템

잘나가는 의사가 환자 기록을 더 잘 관리하도록 돕습니다. 이 과정에서 소프트웨어 설계상의 상속, 리스코프 치환 원칙, 조합과 상속의 장단점을 소개합니다. 또한 자동화된 테스트 코드로 더 안정적인 소프트웨어를 개발하는 방법도 배웁니다.

 

5장 비즈니스 규칙 엔진

유연하고 유지보수하기 쉬운 핵심 비즈니스 규칙 엔진을 만드는 방법을 배웁니다. 테스트 주도 개발, 플루언트 API 개발, 인터페이스 분리 원칙을 알아봅니다.

 

6장 트우터

6~7장에서는 팔로워에게 짧은 메시지를 발송하는 기능을 제공하는 메시징 플랫폼 ‘트우터(Twootr)’를 만듭니다. 6장에서는 시스템 코어를 만들며, 주어진 요구 사항을 응용프로그램의 코어로 구현하는 방법을 배웁니다. 테스트 더블을 사용하는 방법을 익히고 코드베이스 내의 다양한 컴포넌트와 상호작용을 테스트합니다.

 

7장 트우터 확장판

6장에서 구현한 트우터를 확장합니다. 7장에서는 의존관계 역전 원칙을 설명하며, 이벤트 주도와 육각형 아키텍처(hexagonal architecture) 같은 전체적인 아키텍처를 선택하는 방법을 배웁니다. 테스트 자동화에 사용하는 스텁과 목 같은 테스트 더블을 설명하고, 함수형 프로그래밍 기법도 소개합니다.

 

8장 결론

이 책에서 소개한 주요 테마와 개념을 되짚어보며 참고할 만한 자료를 소개합니다.

 

[서평]

오랜 만에 실전 자바 서적이 나왔다. 자바 언어 기초 서적과 스프링등 프레임워크 위주의 기본서 개발서는 많지만 소프트웨어를 개발을 하려면 언어의 문법만 안다고 할수 있는것이 아니다. 소프트웨어 개발 기술을 익히려면 다양한 개념을 알아야 한다. 

 

신입이든 경력자든 개발자라면 꼭 알아야 한다. 특히 신입 개발자라면 더 좋은 코드를 만들려고 SOLID 원칙, 디자인 패턴, 테스트 주도 개발, 함수형 프로그래밍 기술 등 신기술에 관심이 많을 것이다.

하지만 기술을 계속 발전하고 새로운 신기술을 계속 나오고 있다. 어떤 기술을 선택해서 배워야 할지 처음 신입 개발자는 선택이 어렵다. 그 많은 시행 착오를 이책에서 어떻게 해결 할수 있는지 배울수 있다. 4가지 프로젝트를 진행하면 어느 시점에서 함수형 프로그래밍 개념을 적용하고, 언제 테스트를 하고, 또 새로운 기술을 추가하고 개선해야 할지 책에선 여러 기술을 프로젝트에 어떻게 적용할 수 있는지 배울수 있다.

 

이책에서는 개발에 필요한 실무에서 사용하는 최신 자바 기법을 소개하고 있어 많은 도움이 될것이라 생각한다.

 

반응형