목차
감수의 글 ... 6
옮긴이의 말 ... 8
감사의 글 ... 10
저자 소개 ... 11
1부 성공적인 프로젝트
   1장 애플리케이션 설계 ... 27
      분석 단계 ... 28
        유스케이스에 대한 소개 ... 29
        포멀 유스케이스 작성법 ... 30
        유스케이스 제작 ... 31
        UML 사용 ... 32
      설계 단계 ... 33
        CRC 카드 소개 ... 34
        클래스 결정 ... 35
        클래스 책임 결정 ... 35
        협력자의 결정 ... 36
        클래스 간 관계 정교화 ... 37
        공용 API 구성 ... 39
        설계를 위한 UML ... 40
      구현 단계 ... 41
        코딩 규약 ... 41
        캡슐화 ... 44
        상속과 합성 ... 49
        결합도 ... 54
      검사 ... 55
        기본적인 유닛 테스트 ... 57
        비동기적인 유닛 테스트 ... 61
      정리 ... 64
   2장 인터페이스 프로그래밍 ... 65
      인터페이스 정의 ... 66
        인터페이스 생성을 통한 인터페이스 정의 ... 68
        상속을 통한 인터페이스 정의 ... 70
        인터페이스 정의 방법의 결정 ... 71
      다형성 ... 72
        타입과 클래스의 차이점 ... 74
        런타임에서 결정 ... 74
      정리 ... 77
2부 패턴
   3장 모델-뷰-컨트롤러 패턴 ... 81
      MVC 구성 요소 소개 ... 82
        모델 ... 83
        뷰 ... 83
        컨트롤러 ... 83
        구성 요소 간의 관계 ... 83
      간단한 예제 작성 ... 84
        시계 데이터 모델 ... 85
        아날로그 시계 뷰 ... 88
        아날로그 시계 테스트 ... 90
        디지털 시계 뷰 ... 92
        디지털 시계 테스트 ... 94
      하나의 모델에 여러 개 뷰 적용 ... 95
      모델 구현 수정 ... 96
      컨트롤러 추가 ... 99
      정리 ... 104
   4장 싱글턴 패턴 ... 105
      객체 인스턴스화 ... 106
        인스턴스화의 제한 ... 107
        단 한 개의 인스턴스와 전역적인 접근 ... 108
      싱글턴과 정적 멤버(변수나 메소드) ... 110
      간단한 싱글턴 패턴 예제 ... 111
        싱글턴 클래스 작성 ... 111
        싱글턴 클래스 호출 ... 113
      환경 설정 프레임워크 작성 ... 113
        XML 문서 작성 ... 113
        Settings 클래스 작성 ... 114
        Settings 클래스 호출 ... 117
      정리 ... 118
   5장 팩토리 패턴과 템플릿 메소드 패턴 ... 119
      추상 클래스 ... 119
      템플릿 메소드 ... 120
      팩토리 메소드 ... 123
      정리 ... 127
   6장 프록시 패턴 ... 129
      가상 프록시 ... 130
        이미지 로더 예제 ... 130
        게으른 직렬화 예제 ... 132
      원격 프록시 ... 137
        플리커 검색 프록시 예제 ... 137
        flash.utils.Proxy ... 139
      어댑터와 퍼사드 패턴 ... 144
      정리 ... 144
   7장 이터레이터 패턴 ... 147
      이터레이션 문제에 대한 이해 ... 147
      이터레이터 요소에 대한 이해 ... 150
        이터레이터 인터페이스 ... 151
        구상 이터레이터 ... 152
        컬렉션 인터페이스 ... 154
        구상 컬렉션 ... 155
      이터레이터 이용 ... 156
      널의 이터레이터 사용 ... 157
      정리 ... 158
   8장 컴포지트 패턴 ... 159
      구성 요소 인터페이스 ... 160
      말단 요소 ... 163
      컴포지트 요소 ... 164
      파일 시스템 예제 제작 ... 165
      정리 ... 172
   9장 데코레이터 패턴 ... 173
      데코레이터 패턴의 이해 ... 174
        데코레이터/데코레이티드 인터페이스 ... 175
        구상 데코레이티드 클래스 ... 175
        추상 데코레이터 클래스 ... 176
        구상 데코레이터 클래스 ... 177
      읽기 데코레이터 작성 ... 179
        데코레이터/데코레이티드 인터페이스의 작성 ... 179
        추상 리터 클래스 정의 ... 180
        구상 데코레이티드 클래스 정의 ... 183
        추상 데코레이터 클래스 작성 ... 183
        첫 번째 구상 데코레이터 클래스 정의 ... 184
        데코레이터 테스트 ... 186
        부가적인 구상 데코레이터 클래스 정의 ... 187
        새로운 데코레이티드 타입 정의 ... 189
        데코레이터 장식 ... 191
      시각적이고 교환 가능한 데코레이터 작성 ... 193
        공통 인터페이스 정의 ... 194
        구상 데코레이티드 클래스 정의 ... 195
        데코레이터 클래스 정의 ... 197
        비가환적인 데코레이터 클래스 추가 ... 200
      정리 ... 205
   10장 커맨드 패턴 ... 207
      커맨드 패턴의 이해 ... 208
        인터페이스(커맨드 인터페이스) ... 208
        구상 커맨드와 수신자 ... 209
        클라이언트와 호출자 ... 210
      간단한 커맨드 애플리케이션 작성 ... 211
        커맨드 클래스 작성 ... 211
        수신자 타입 작성 ... 214
        버튼 작성 ... 214
        커맨드 컨테이너 작성 ... 216
        애플리케이션 실행 ... 218
      되돌리기 명령 작성과 명령 히스토리 보존 ... 220
      되돌리기 가능한 애플리케이션 작성 ... 223
        되돌리기 가능한 커맨드 작성 ... 223
        커맨드 히스토리 기록 ... 226
        되돌리기 버튼 추가 ... 227
      재실행 가능한 애플리케이션 작성 ... 229
        IRedoableCommand 구현 ... 229
        재실행(Redo) 버튼 추가 ... 231
      커맨드 패턴을 이용한 Proximity 게임 제작 ... 231
        플레이어 데이터 클래스 정의 ... 232
        게임 플레이어를 위한 컬렉션 클래스 정의 ... 233
        게임 조각 정의 ... 234
        GameBoardData 클래스 정의 ... 236
        GamePlayCommand 클래스 정의 ... 240
        GameFactory 클래스 정의 ... 242
        게임 조각 뷰와 컨트롤러 클래스 정의 ... 243
        게임판 뷰와 컨트롤러 정의 ... 246
        메인 클래스 정의 ... 247
      정리 ... 249
   11장 메멘토 패턴 ... 251
      Proximity 게임에서 실행을 되돌리기 위한 메멘토 패턴 사용 ... 257
        메멘토 타입 정의 ... 258
        오리지네이터 작성 ... 258
        되돌릴 수 있는 명령 타입 정의 ... 259
        CommandFactory 업데이트 ... 261
        메인 클래스 업데이트 ... 262
      Proximity 게임에서 명령 다시 실행 기능을 만들기 위한 메멘토 패턴 ... 263
        다시 실행 명령 정의 ... 263
        Factory 클래스 편집 ... 265
        메인 클래스 편집 ... 265
      정리 ... 266
   12장 스테이트 패턴 ... 267
      간단한 스테이트 예제 ... 268
        SimpleShooter 클래스 작성 ... 268
        메인 예제 클래스 작성 ... 269
        이 예제의 문제점 ... 271
      상태 캡슐화 ... 271
        슈터 상태 인터페이스 ... 272
        상태 객체 ... 272
        ShooterStateMachine 클래스 ... 274
        메인 예제 클래스 작성 ... 276
      추상 클래스 이용 ... 277
        추상 슈터 상태 ... 277
        상태 객체 ... 279
        슈터 상태 머신 ... 281
        메인 예제 클래스 작성 ... 282
      전이 ... 283
        상태 머신에서 정의된 전이 ... 284
        상태 객체에서 정의된 전이 ... 286
      정리 ... 291
3부 액션스크립트의 고급 주제
   13장 이벤트를 활용한 작업 ... 295
      이벤트 이해 ... 295
      이벤트 사용 ... 297
        이벤트 구성 요소 이해 ... 297
        리스너 등록 ... 298
        이벤트 리스너 제거 ... 301
        이벤트 단계 이해 ... 301
      이벤트 디스패처 작성 ... 307
        이벤트 객체 이해 ... 307
        이벤트 target 속성 이해 ... 308
        이벤트 기본 동작 ... 308
        전파의 중단 ... 309
        상속을 통한 이벤트 디스패치 ... 309
        IEventDispatcher 인터페이스 ... 310
      이벤트로 작업하는 예제 ... 311
        IconButton 클래스 작성 ... 312
        Main 클래스 작성 ... 313
      정리 ... 315
   14장 데이터 전송과 로딩 ... 317
      텍스트 로딩 ... 318
        LimerickData 클래스 작성 ... 320
        LimerlickView 클래스 작성 ... 322
        메인 클래스 작성 ... 323
      변수의 전송과 로딩 ... 324
        변수 전송 ... 324
        변수 로딩 ... 327
      XML 전송과 로드 ... 330
        XML 전송 ... 330
        XML 로드 ... 331
      웹서비스 이용 ... 331
      플래시 리모팅 이용 ... 332
        플래시 리모팅 기초 이해 ... 333
        플래시 리모팅 호출 제작 ... 334
      데이터 통신 최적화 ... 337
        데이터 캐싱 ... 337
        요청 쌓아두기와 담아두기 ... 341
      정리 ... 342
   15장 E4X(XML) ... 343
      XML 객체 생성 ... 345
      속성 접근자 ... 346
      XML 필터링 ... 348
      XMLList를 통한 반복 ... 349
      네임스페이스 ... 350
      XML 데이터 전송과 로딩 ... 352
      간단한 SOAP 예제 ... 352
        사용자 정의 이벤트 작성 ... 354
        웹서비스 클래스 작성 ... 355
        메인 클래스 작성 ... 357
      정리 ... 360
   16장 정규표현식 ... 361
      RegExp 클래스 소개 ... 362
      정규표현식에 의한 작업 ... 363
        정규표현식의 Boolean 테스트 ... 364
        일치하는 하위 문자열의 인덱스 번호 검색 ... 364
        일치하는 하위 문자열의 검색 ... 364
        정규표현식을 이용한 하위 문자열의 대체 ... 366
      정규표현식 flag 변수 활용 ... 367
        전역 flag ... 368
        대소문자 무시 flag ... 368
        멀티라인 flag ... 369
        개행 flag와 짝을 이루는 점 ... 370
        확장 flag ... 370
      메타캐릭터와 메타시퀀스 이해 ... 371
        Character 클래스 이용 ... 373
        수량 한정자에 의한 작업 ... 374
      정규표현식 그룹 이용 ... 374
      정규표현식을 이용한 Mad Libs 애플리케이션 작성 ... 378
        데이터 모델 클래스 작성 ... 380
        입력 제어부 작성 ... 385
        뷰 클래스 작성 ... 386
        메인 클래스 정의 ... 388
      정리 ... 390
찾아보기 ... 391
닫기