목차 일부
지은이 소개 ... ⅴ
옮긴이 후기 ... xiv
베타리더 후기 ... xvi
감사의 글 ... xvii
이 책의 대하여 ... xvii
CHAPTER 1 엔터프라이즈 디자인
엔터프라이즈 아키텍처란 무엇인가? ... 5
엔터프라이즈 개발이란 무엇인가? ... 7
신뢰성 ... 8
유연성 ... 8
역할의 분리 .....
더보기
목차 전체
지은이 소개 ... ⅴ
옮긴이 후기 ... xiv
베타리더 후기 ... xvi
감사의 글 ... xvii
이 책의 대하여 ... xvii
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
찾아보기 ... 571
더보기 닫기