어제부터 또 하나의 제이펍 서적이 인터넷서점에서 예약판매 중에 있습니다. 최근 모바일 분야의 책을 계속해서 냈는데, 이번에는 마이크로소프트 관련 기술을 다루는 책입니다. 마이크로소프트의 관련 기술들을 이용하여 소프트웨어 개발 방법론과 패턴들을 알려주는 책인데요, 아마존의 서평을 보면 책을 펼쳐보기 전에 이 책의 진가를 조금이나마 확인하실 수 있을 것 같네요.
일단 아마존의 서평들을 한번 볼까요? 12명이 이 책에 대해 서평을 작성하였고, 그 중에 9명이 만점인 별 다섯, 3명이 별 셋 평점을 부여한 아주 잘 쓴 책이라는 평가들을 하고 있습니다.
A Comprehensive Guide to Enterprise Design, June 4, 2010
Excellent reading. Refreshing!, May 10, 2010
I love this book., February 28, 2010
Clear, comprehensive, yet fun book to read, February 19, 2010
A Good Introduction to Big Time Applications Programming, February 15, 2010
Clearly organized and written book with depth, February 8, 2010
Good book on practical use of enterprise patterns, February 4, 2010
위 파일에도 차례가 있긴 하지만, 아래에 다시 한번 적어드립니다. 차례를 보시면 여러분에게 필요한 책인지 아닌지 감이 팍팍 올 겁니다.
CHAPTER 1 :: 엔터프라이즈 디자인 엔터프라이즈 아키텍처란 무엇인가? 5
엔터프라이즈 개발이란 무엇인가? 7
신뢰성 8
유연성 8
역할의 분리 9
재사용성 9
유지보수성 9
마이크로소프트의 엔터프라이즈 기술은 어디에 있는가? 11
COM 13
자바로의 이동 14
.NET 15
요약 19
CHAPTER 2 :: 엔터프라이즈 코드
코드를 바라보는 새로운 방법 21
모듈화 23
느슨하게 결합된 클래스들 25
단위 테스트 33
제어 역행화 컨테이너 35
요약 41
CHAPTER 3 :: 보다 나은 클래스 디자인
코드의 의존성을 평가하기 46
경직성 59
유연성 59
역할의 분리 59
재사용성 60
유지보수 용이성 60
역할의 분리와 모듈화의 이해 62
의존성 전도의 원칙 79
의존성 주입 패턴의 활용 83
경직성 90
유연성 90
역할의 분리 91
재사용성 91
유지보수 용이성 91
요약 92
CHAPTER 4 :: 테스트 주도 개발
TDD 예제: 틱택토 게임 97
틱택토 게임의 요구사항 97
테스트 프레임워크 140
테스트가 가능한 요소들을 정의하기 141
유용한 단위 테스트 작성하기 143
리팩토링 149
리팩토링 도구 151
ReSharper 151
Refactor Pro 151
테스트 주도 개발 환경에서 의존성 처리하기 151
가상 객체 프레임워크 164
Rhino Mocks 164
Moq 165
NMock 165
요약 165
CHAPTER 5 :: 간결한 코드를 위한 제어 역행화 기법
의존 객체의 생성 169
Factory 패턴 178
Service Locator 182
제어 역행화와 IoC 컨테이너 185
의존성 주입과 제어 역행화의 비교 187
IoC 컨테이너의 선택 187
StructureMap 프레임워크 192
Fluent Interface 패턴을 이용한 객체 연결 193
Plugin Family 특성을 이용한 객체 연결 197
메타 데이터를 이용한 객체 연결 201
XML이냐 아니냐, 그것이 문제로다 204
다른 IoC 프레임워크들 205
요약 206
CHAPTER 6 :: 미들웨어 구축하기 미들웨어에서는 어떤 일이? 211
혼돈의 시대 212
계층적 디자인 213
인터넷 시대 215
엔터프라이즈 미들웨어의 시대 218
WCF 웹 서비스 221
메시징 모델 233
SOA에 대한 단상 234
요약 235
CHAPTER 7 :: 미들웨어 구현하기 비즈니스 로직 계층 237
비즈니스 로직 계층을 위한 패턴 239
트랜잭션 스크립트 239
액티브 레코드 패턴 241
도메인 모델 패턴 244
어떤 패턴을 사용해야 할까? 249
서비스 계층의 구현 249
서비스 계층 250
패턴 실습하기 251
모기지 론 자격 심사 애플리케이션 252
도메인 언어로 의사소통하기 253
도메인 주도 디자인에 대한 간단한 소개 254
엔티티 254
값 객체 255
객체 집합과 객체 집합 루트 255
도메인 전문가와 대화하기 256
도메인 모델의 구현 259
객체 집합의 정의 260
애플리케이션의 구현 261
저장소 구현하기 307
도메인 서비스의 구현 309
요약 316
CHAPTER 8 :: 비즈니스 구축하기
데이터 액세스 계층이란? 319
데이터 액세스 계층 구현하기 320
객체 관계 매핑 321
DataContext 객체 322
Entity Framework 341
LinqToSQL과 Entity Framework 358
모기지 론 애플리케이션을 NHibernate를 이용하여 매핑하기 377
요약 401
CHAPTER 9 :: 프론트 엔드의 구현
방치된 프론트 엔드 403
초기의 프론트 엔드 패턴들 405
자바 스트럿츠 407
ASP.NET 409
모델-뷰-프리젠터 패턴 413
MVC 패턴 다시 보기 - 레일즈 방식 418
요약 422
CHAPTER 10 :: MVP 패턴
MVP 패턴에 대한 간단한 소개 424
모델 425
뷰 425
프리젠터 425
MVP 모기지 계산기 - 웹 예제 426
플랫폼의 전환 - 팻 클라이언트 예제 452
WPF 애플리케이션 프로젝트 준비하기 452
요약 457
CHAPTER 11 :: MVC 패턴
MVC의 기초 460
모델 462
컨트롤러 463
뷰 463
모기지 론 애플리케이션 464
모델 구현하기 468
컨트롤러의 구현 471
뷰 구현하기 474
간단한 저장소 객체의 구현 478
모델의 생성과 수정 484
모델 확장하기 503
전체 소스 코드 516
요약 517
CHAPTER 12 :: 최종 실습
2보 전진을 위한 1보 후퇴 520
우리가 학습했던 개념들 520
신뢰성 520
유연성 521
역할의 분리 521
재사용성 521
유지보수성 521
총평 522
우리가 작성했던 코드들 522
총평 523
우리가 사용했던 패턴들 524
미들웨어 524
영속성 526
사용자 인터페이스 527
총평 529
전체적으로 다시 살펴보기 529
모기지 서비스 530
최종 마무리 531
요약 532
부록 A :: C#.NET 기초
.NET의 기본 개념 534
다중 언어 지원 534
유연한 런타임 환경 535
가비지 컬렉션 535
COM의 쇠퇴 536
C# 프로그래밍 536
시스템 정의 타입들 537
사용자 정의 타입들 538
범위와 선언 538
속성, 대리자 그리고 이벤트 540
네임스페이스 544
C# 3.0의 언어적 특징들 547
묵시적으로 형식화된 지역 변수 548
람다 식 548
확장 메서드 549
객체 및 컬렉션 초기자 550
객체지향 개념 552
클래스와 객체 553
상속 555
캡슐화 557
다형성과 추상화 560
C#과 웹 SDK 563
System.Web 네임스페이스 563
System.Web.UI 네임스페이스 564
System.Web.UI.WebControls 네임스페이스 564
System.Web.UI.HtmlControls 네임스페이스 565
System.Web.Services 네임스페이스 565
System.Web.Security 네임스페이스 565
System.Web.Mobile 네임스페이스 566
System.Net.Mail 네임스페이스 567
System.Web.Mvc 네임스페이스 567
System.Web.Mvc.Ajax 네임스페이스 567
System.Web.Mvc.Html 네임스페이스 567
System.Data 네임스페이스 567
요약 569