이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
C#으로 배우는 적응형 코드
디자인 패턴과 SOLID 원칙 기반의 애자일 코딩
제이펍 2015.11.27.
베스트
IT 모바일 top100 2주
가격
30,000원
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

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

저자 소개

저자 : 게리 맥린 홀
마이크로소프트 .NET 프로그래밍 전문가이며, 특히 변화에 적응하는 코드를 작성하는 것에 초점을 맞춘 패턴과 실습(Patterns and Practices)에 뛰어난 기술을 지니고 있다.
역자 : 장현희
16년째 개발자의 길을 걷고 있는 옮긴이는 지난 15년간 총 18권의 개발 관련서를 집필하거나 번역했다. 현재는 호주 시드니에 있는 ROKT에서 시니어 개발자로 근무 중이며, 국내 개발자들에게 조금이라도 도움이 되는 번역서를 만들기 위해 틈틈이 노력하고 있다. 앞으로도 책이라는 매개체를 통해 멀리서나마 국내 개발자들과 계속해서 소통할 계획이다.

관련 분류

품목정보

발행일
2015년 11월 27일
쪽수, 무게, 크기
480쪽 | 945g | 188*245*24mm
ISBN13
9791185890371

책 속으로

스크럼 프로젝트의 일상을 관리하는 중심은 스크럼 보드(Scrum board)이다. 스크럼 보드는 벽에 적당한 크기로 자리해야 한다. 만일 보드가 너무 작으면 중요한 내용을 자꾸 생략하고 싶은 유혹에 빠지기 쉽다. 어쩌면 독자의 사무실 벽은 그만한 공간을 마련하기가 쉽지 않을 수도 있다. 이런 경우에는 그냥 방치된 화이트보드를 스크럼 보드로 활용하면 된다. 자석을 이용하면 금속으로 된 서류함도 스크럼 보드로 사용할 수 있다. _11p

이전 절에서 설명한 의존성을 퍼스트파티(first-party) 의존성이라고 한다. 콘솔 애플리케이션과 애플리케이션이 종속성을 가지는 클래스 라이브러리는 같은 비주얼 스튜디오 솔루션 내에 구현되어 있다. 이 경우, 의존성을 제공하는 프로젝트는 필요하다면 언제든 다시 빌드할 수 있기 때문에 의존성 모듈에 항상 액세스가 가능하다. _58p

검증 코드를 추가한 테스트는 전체 거래내역을 모두 합하여 계좌의 잔액을 확인하고 있다. 그런데 지금까지의 과정을 통해 계좌의 잔액을 관리하기 위해 작성한 코드는 가장 마지막 거래 내역의 값을 계좌의 잔액으로 취급하고 있다. 당연히 이 구현 방식은 올바르지 않기 때문에 이번 테스트 역시 실패하게 된다. 예제 4-11은 모든 단위 테스트를 성공할 수 있도록 구현을 수정한 AddTransaction 메서드의 코드이다. _159p

버그는 소프트웨어에 있어 일반적인 문제이며 완전히 제거하기란 거의 불가능하다. 그래서 버그가 발견되면 이에 대응하기 위해 문제가 있는 코드를 수정해야 한다. 물론, 그러자면 버그가 발생한 클래스의 복사본을 만들어 버그를 수정하지 않는 한 이미 존재하는 클래스를 수정해야 한다. 이는 순수주의보다는 실용주의의 측면에서 볼 때 원칙을 위반하는 것처럼 들린다. _243p

인터페이스를 분리해야 하는 이유는 여러 가지가 있다. 데코레이션을 지원하기 위해, 클라이언트로부터 기능을 올바르게 숨기기 위해, 다른 개발자를 위하여 스스로 문서화된 코드를 작성하기 위해, 또는 아키텍처 디자인의 영향을 받아서 분리되는 경우가 있다. 그 이유가 무엇이든지 간에 지금까지 살펴본 기법들은 인터페이스를 생성할 때마다 가장 먼저 염두에 두고 지켜야 할 것들이다. 현대의 프로그래밍 도구들을 활용한다면 일단 구현부터 하고 나서 나중에 리팩토링하는 방법보다는 처음부터 올바른 방향으로 코드를 작성하는 것이 바람직하다. _325p

---본문 중에서

리뷰 총점 8.6
한줄평 총점 9.5

클린봇이 부적절한 글을 감지 중입니다.

설정

사락 별점0

혜택 및 유의사항

첫번째 별점을 남겨주세요.

첫번째 밑줄을 남겨주세요.