본문 바로가기

도서 소개

C#으로 배우는 적응형 코드: 디자인 패턴과 SOLID 원칙 기반의 애자일 코딩



그동안 읽어주신 분들께 감사드립니다. 이 책은 현재 절판되었습니다.


C#, 자바 혹은 C++ 개발자를 위한 실용적 사례 제공!

이론과 실제 사이의 간극을 최소화하는 전문가 가이드!


출판사 제이펍

원출판사 Microsoft Press

원서명 Adaptive Code via C#: Agile coding with design patterns and SOLID principles(원서 ISBN: 9780735683204)

저자명 게리 맥린 홀

역자명 장현희

출판일 2015년 11월 27일

페이지 480쪽

시리즈 (없음)

판 형 (188*245*23)

제 본 무선(soft cover)

정 가 30,000원

ISBN 979-11-85890-37-1 (93000)

키워드 애자일 / 스크럼 / 의존성 / SOLID / 단위 테스트 / 리팩토링 / 인터페이스

분야 프로그래밍 / 개발방법론


관련 사이트

아마존 도서소개 페이지

원출판사 페이지


관련 포스트

2015/11/17 - [출간전 책소식] - 디자인 패턴, SOLID 원칙, 단위 테스트, 리팩토링 그리고 애자일


관련 시리즈

■ (없음)


관련 도서

프로페셔널 엔터프라이즈 닷넷

리팩토링: 루비 에디션


관련 파일 다운로드

예제 코드와 부록 B



강의 자료

(교재로 채택하신 분들은 출판사로 메일을 보내주세요) => jeipubmarketer@gmail.com

■ 소스 코드

■ 본문의 그림과 표


샘플 PDF

■ 차례, 옮긴이 머리말, 이 책에 대하여, 베타리더 후기, 1장 '스크럼을 소개합니다' 일부, 10장 '적응형 예제 ─ 소개'

C#으로배우는적응형코드_sample.pdf


정오표 페이지

■ (등록되는 대로 링크를 걸어드리겠습니다.)

도서구매 사이트(가나다순)


도서 소개

C#, 자바 혹은 C++ 개발자를 위한 실용적 사례 제공!

이론과 실제 사이의 간극을 최소화하는 전문가 가이드!


모든 개발자가 이미 알고 있듯이 요구사항은 지속적으로 변경된다. 그러나 적응성을 고려해 코드를 작성하면 더 쉽게 변화를 수용할 수 있으며, 소모적인 재작업을 피할 수 있다. 이 책은 애자일 프로그래밍에 초점을 맞춰 적응형 코드를 작성하고, 나아가 더 나은 비즈니스 가치를 구현하기 위한 모범 사례, 원칙 그리고 패턴들을 설명한다.


■ 스크럼에 관한 기초 다지기: 산출물, 역할, 지표 및 단계

■ 아키텍처적인 의존성을 정리하고 관리하는 방법

■ 패턴과 안티 패턴에 대한 모범 사례 탐구

■ SOLID 원칙 이해하기: 단일 책임, 개방/폐쇄, 리스코프 치환 등

■ 적응형 코드를 위해 인터페이스를 자유자재로 활용하기

■ 단위 테스트와 리팩토링을 함께 수행하기

■ 위임과 추상화를 통해 코드의 적응성을 향상시키는 방법

■ 의존성 주입을 구현하기 위한 최선의 방법

■ 실용적인 애자일 코딩 프로젝트를 통한 실습

■ 데이터 파티셔닝이나 공유 변수 같은 고급 개념 학습


지은이 소개

게리 맥린 홀(Gary McLean Hall)

게리 맥린 홀은 마이크로소프트 .NET 프로그래밍 전문가이며, 특히 변화에 적응하는 코드를 작성하는 것에 초점을 맞춘 패턴과 실습(Patterns and Practices)에 뛰어난 기술을 지니고 있다.


옮긴이 소개

장현희

16년째 개발자의 길을 걷고 있는 옮긴이는 지난 15년간 총 18권의 개발 관련서를 집필하거나 번역했다. 현재는 호주 시드니에 있는 ROKT에서 시니어 개발자로 근무 중이며, 국내 개발자들에게 조금이라도 도움이 되는 번역서를 만들기 위해 틈틈이 노력하고 있다. 앞으로도 책이라는 매개체를 통해 멀리서나마 국내 개발자들과 계속해서 소통할 계획이다.


차례

PART I 애자일의 기본기 갖추기

CHAPTER 1 스크럼을 소개합니다 3

스크럼 vs. 폭포수 4

역할과 책임 7

산출물 11

스프린트 34

마치며 50


CHAPTER 2 의존성과 계층화 51

의존성의 정의 52

의존성 관리하기 66

계층화 96

마치며 108


CHAPTER 3 인터페이스와 디자인 패턴 111

인터페이스란 무엇인가? 112

적응형 디자인 패턴 121

인터페이스의 또 다른 활용법 133

마치며 146


CHAPTER 4 단위 테스트와 리팩토링 147

단위 테스트 148

리팩토링 176

마치며 193


PART II SOLID 원칙에 기반한 코드 작성하기

CHAPTER 5 단일 책임 원칙 197

문제의 정의 198

SRP와 데코레이터 패턴 214

switch 구문 대신 전략 패턴 사용하기 236

마치며 239


CHAPTER 6 개방/폐쇄 원칙 241

개방/폐쇄 원칙이란? 242

확장점 244

변화로부터의 보호 249

마치며 252


CHAPTER 7 리스코프 치환 원칙 253

리스코프 치환 원칙에 대한 이해 253

계약 256

공변성과 반 공변성 278

마치며 290


CHAPTER 8 인터페이스 분리 291

인터페이스 분리 예제 292

인터페이스를 분리하는 이유 311

마치며 325


CHAPTER 9 의존성 주입 327

간편한 예제 328

조금 더 복잡한 예제 355

마치며 373


PART III 적응형 예제

CHAPTER 10 적응형 예제 ─ 소개 377

트레이 리서치 378

최초의 백로그 382


CHAPTER 11 적응형 예제 ─ 스프린트 1 391

계획하기 392

나는 대화를 분류하기 위해 채팅방을 개설하고 싶습니다 394

나는 개설된 채팅방의 목록을 보고 싶습니다 404

나는 채팅방에 전송된 메시지를 보고 싶습니다 409

나는 채팅방의 다른 참여자에게 평문 텍스트 메시지를 전송하고 싶습니다 412

스프린트 데모 414

스프린트 회고 415


CHAPTER 12 적응형 예제 ─ 스프린트 2 421

계획하기 422

나는 마크다운으로 꾸며진 텍스트를 전송하고 싶습니다 423

나는 메시지 콘텐츠를 적절하게 필터링하고 싶습니다 427

나는 수백 명의 동시 접속 사용자들에게 서비스를 제공하고 싶습니다 431

스프린트 데모 433

스프린트 회고 434


APPENDIX A 적응형 도구들 439

Git을 이용한 소스 제어 439

지속적 통합 445


APPENDIX B GitHub 예제 소스 (온라인 제공)


찾아보기 448