간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (25,650원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (21,600원)
(최대할인 4만원 / 2만원 이상 결제)
Close

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

원제 : Adaptive Code via C#: Agile coding with design patterns and SOLID principles
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 34
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(11)

책소개

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

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

출판사 서평

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

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

이론과 실제 사이의 간극을 최소화하는 전문가 가이드
- 스크럼에 관한 기초 다지기: 산출물, 역할, 지표 및 단계
- 아키텍처적인 의존성을 정리하고 관리하는 방법
- 패턴과 안티 패턴에 대한 모범 사례 탐구
- SOLID 원칙 이해하기: 단일 책임, 개방/폐쇄, 리스코프 치환 등
- 적응형 코드를 위해 인터페이스를 자유자재로 활용하기
- 단위 테스트와 리팩토링을 함께 수행하기
- 위임과 추상화를 통해 코드의 적응성을 향상시키는 방법
- 의존성 주입을 구현하기 위한 최선의 방법
- 실용적인 애자일 코딩 프로젝트를 통한 실습
- 데이터 파티셔닝이나 공유 변수 같은 고급 개념 학습

목차

PART 1 애자일의 기본기 갖추기
CHAPTER 1 스크럼을 소개합니다
스크럼 vs. 폭포수
역할과 책임
산출물
스프린트
마치며

CHAPTER 2 의존성과 계층화
의존성의 정의
의존성 관리하기
계층화
마치며

CHAPTER 3 인터페이스와 디자인 패턴
인터페이스란 무엇인가?
적응형 디자인 패턴
인터페이스의 또 다른 활용법
마치며

CHAPTER 4 단위 테스트와 리팩토링
단위 테스트
리팩토링
마치며

PART 2 SOLID 원칙에 기반한 코드 작성하기
CHAPTER 5 단일 책임 원칙
문제의 정의
SRP와 데코레이터 패턴
switch 구문 대신 전략 패턴 사용하기
마치며

CHAPTER 6 개방/폐쇄 원칙
개방/폐쇄 원칙이란?
확장점
변화로부터의 보호
마치며

CHAPTER 7 리스코프 치환 원칙
리스코프 치환 원칙에 대한 이해
계약
공변성과 반 공변성
마치며

CHAPTER 8 인터페이스 분리
인터페이스 분리 예제
인터페이스를 분리하는 이유
마치며

CHAPTER 9 의존성 주입
간편한 예제
조금 더 복잡한 예제
마치며

PART 3 적응형 예제
CHAPTER 10 적응형 예제 - 소개
트레이 리서치
최초의 백로그

CHAPTER 11 적응형 예제 - 스프린트 1
계획하기
나는 대화를 분류하기 위해 채팅방을 개설하고 싶습니다
나는 개설된 채팅방의 목록을 보고 싶습니다
나는 채팅방에 전송된 메시지를 보고 싶습니다
나는 채팅방의 다른 참여자에게 평문 텍스트 메시지를 전송하고 싶습니다
스프린트 데모
스프린트 회고

CHAPTER 12 적응형 예제 - 스프린트 2
계획하기
나는 마크다운으로 꾸며진 텍스트를 전송하고 싶습니다
나는 메시지 콘텐츠를 적절하게 필터링하고 싶습니다
나는 수백 명의 동시 접속 사용자들에게 서비스를 제공하고 싶습니다
스프린트 데모
스프린트 회고

APPENDIX A 적응형 도구들
Git을 이용한 소스 제어
지속적 통합

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

찾아보기

본문중에서

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

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

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

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

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

저자소개

게리 맥린 홀(Gary McLean Hall) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

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

생년월일 -
출생지 -
출간도서 0종
판매수 0권

캐나다 켈로나 소재의 QHR Technologies에서 시니어 소프트웨어 엔지니어로 근무 중이다. 21년째 개발자의 길을 걷고 있으며 총 25종의 개발 관련서를 집필하거나 번역했다.
국내 개발자들에게 조금이라도 도움이 되는 번역서를 만들기 위해 최선을 다하고 있으며, 책이라는 매개체를 통해 멀리서나마 국내 개발자들과의 소통을 지속하고자 노력하고 있다. 최근에는 『사이트 신뢰성 엔지니어링』(제이펍, 2018), 『클라우드 네이티브 자바』(책만, 2018), 『러스트 프로그래밍 공식 가이드』(제이펍, 2019) 등을 번역했다.

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용