[플래시/플렉스 개발자를 위한]
액션스크립트 3.0 디자인 패턴
- 원서명Advanced ActionScript 3 with Design Patterns (ISBN 9780321426567)
- 지은이조이 로트, 대니 패터슨
- 옮긴이정호연
- 감수자양주일
- ISBN : 9788960770638
- 28,000원
- 2008년 10월 28일 펴냄 (절판)
- 페이퍼백 | 400쪽 | 188*250mm
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
살펴볼 만한 가치가 있는 디자인 패턴을 소개하고 액션스크립트 3.0을 통해 디자인 패턴이라는 강력한 기술을 활용하는 노하우를 담은 요긴한 가이드다.
이 책으로 시작 단계에서부터 테스트 단계에 이르기까지 좀더 효과적으로 애플리케이션을 작성하는 방법과 적합한 디자인 패턴을 활용해 애플리케이션 설계를 단순화시키는 방법을 배울 수 있다. 또한 유연하게 코드를 유지하게 도와주는 가이드라인을 배워서 애플리케이션 손상에 대한 두려움 없이 프로그램을 쉽게 수정할 수 있을 것이다. 게다가 이 책은 제대로 동작하는 예제 애플리케이션들로 가득 차 있다.
[ 소개 ]
플래시 플랫폼이 성장함에 따라 플래시 기반 애플리케이션의 저변과 규모도 성장했다. 플래시의 성장은 액션스크립트 개발자들에게 끊임없이 성숙할 것을 요구한다. 플래시 애플리케이션은 새롭게 진보했고 증가하는 요구들은 좀 더 많은 개발자들이 재주를 연마해서 단계적으로 증가시켜야 하고, 코드와 애플리케이션 간의 관계를 이해하고 개선하기 위해 계속적으로 조치를 취해야 함을 의미한다. 디자인 패턴은 이런 상황에 도움을 주는 자원이다.
액션스크립트 자체는 매우 간단하다. 기억해야 할 기본적인 문법, 훌륭한 API 레퍼런스와 근사한 IDE를 포함한다. 도전받는 것은 액션스크립트가 아니라 애플리케이션을 위한 아키텍처(구조)다. 진정한 고민거리는 해당 애플리케이션을 위해 어떤 클래스와 어떤 API를 사용할지 결정하는 것이다. 애플리케이션을 작성하면 할수록 반복적으로 나타나는 패턴이 있음을 느낄 것이다. 임무를 완수하고 빈번하게 발생하는 보편적인 문제를 해결하는 어떤 방법이 분명히 있다. 이러한 일반적인 해결책들이 디자인 패턴의 근간이다. 디자인 패턴의 상당수는 이미 존재한다. 디자인 패턴을 이해하기 위해 노력하고 의식적으로 이 패턴들을 적용하려고 노력한다면 애플리케이션을 작성하는 작업이 쉽지만은 않을 것이다. 좋은 결과를 가져올 수도 있지만 매번 공회전할 수도 있다. 디자인 패턴을 배우면 새로운 애플리케이션을 구조화하는 지능적이고 효율적인 방법을 확인할 수 있다.
이 책에서 설명하는 디자인 패턴은 오랜 시간을 거쳐 개발자들에 의해 만들어진 많은 패턴의 일부다. 이 책에서는 액션스크립트 애플리케이션 개발에 가장 유용하고 응용될 수 있을만한 패턴을 선택했다. 이런 패턴을 복음처럼 받들길 바라지는 않는다. 단지 애플리케이션을 개발할 때 좋은 가이드와 영감을 제공하려는 의도다. 설명할 패턴은 프로그래밍 전문가들에 의해 몇 년을 거쳐 검증되고 확인된 패턴이다. 패턴을 공부함으로써 여러분은 거인의 어깨에 설 수 있다. 하지만 이 패턴들이 절대적인 척도는 아니라는 사실을 잊지 말아야 한다. 전문가들이 유용하다고 발견한 것들이 반드시 그렇게 따라야 하는 것들이라는 의미는 아니다. 열린 마음으로, 하지만 심각하게 모든 내용을 읽기 바란다.
[ 이 책에서 다루는 내용 ]
■ 데코레이터 패턴(Decorator pattern)을 통해 두 개의 객체를 짝지어 놓거나 새로운 래퍼(wrapper)객체로 감싸줌으로써 런타임에서 다른 형태의 객체를 만들기
■ 복잡한 계층적인 구조를 컴포지트 패턴(Composite pattern)을 통해서 단순화하기
■ 복잡한 문자열 패턴을 정규표현식(regular expression)을 이용해 검색하기
[ 이 책의 대상 독자 ]
기본적인 프로그래밍에 대한 이해를 갖추고 있고 액션스크립트 3.0 원칙을 이해하고 변수, 표현, 선언문, 객체, 상속과 기본적인 클래스를 작성하는 방법을 어느 정도 이해하고 있다고 가정한다.
이 책은 대부분의 책이 객체지향 액션스크립트에 대한 설명을 끝내는 부분에서 시작한다. 많은 책이 클래스를 작성하는 방법을 알려주지만 이 책은 여러 가지 방법으로 클래스를 설계할 수 있는 다양한 방법을 제시한다. 이 책은 언제, 왜, 어떻게 합성과 상속을 이용하고 클래스를 어떻게 서로 연관시키고 패턴을 형성할지 말해준다.
이 책으로 시작 단계에서부터 테스트 단계에 이르기까지 좀더 효과적으로 애플리케이션을 작성하는 방법과 적합한 디자인 패턴을 활용해 애플리케이션 설계를 단순화시키는 방법을 배울 수 있다. 또한 유연하게 코드를 유지하게 도와주는 가이드라인을 배워서 애플리케이션 손상에 대한 두려움 없이 프로그램을 쉽게 수정할 수 있을 것이다. 게다가 이 책은 제대로 동작하는 예제 애플리케이션들로 가득 차 있다.
[ 소개 ]
플래시 플랫폼이 성장함에 따라 플래시 기반 애플리케이션의 저변과 규모도 성장했다. 플래시의 성장은 액션스크립트 개발자들에게 끊임없이 성숙할 것을 요구한다. 플래시 애플리케이션은 새롭게 진보했고 증가하는 요구들은 좀 더 많은 개발자들이 재주를 연마해서 단계적으로 증가시켜야 하고, 코드와 애플리케이션 간의 관계를 이해하고 개선하기 위해 계속적으로 조치를 취해야 함을 의미한다. 디자인 패턴은 이런 상황에 도움을 주는 자원이다.
액션스크립트 자체는 매우 간단하다. 기억해야 할 기본적인 문법, 훌륭한 API 레퍼런스와 근사한 IDE를 포함한다. 도전받는 것은 액션스크립트가 아니라 애플리케이션을 위한 아키텍처(구조)다. 진정한 고민거리는 해당 애플리케이션을 위해 어떤 클래스와 어떤 API를 사용할지 결정하는 것이다. 애플리케이션을 작성하면 할수록 반복적으로 나타나는 패턴이 있음을 느낄 것이다. 임무를 완수하고 빈번하게 발생하는 보편적인 문제를 해결하는 어떤 방법이 분명히 있다. 이러한 일반적인 해결책들이 디자인 패턴의 근간이다. 디자인 패턴의 상당수는 이미 존재한다. 디자인 패턴을 이해하기 위해 노력하고 의식적으로 이 패턴들을 적용하려고 노력한다면 애플리케이션을 작성하는 작업이 쉽지만은 않을 것이다. 좋은 결과를 가져올 수도 있지만 매번 공회전할 수도 있다. 디자인 패턴을 배우면 새로운 애플리케이션을 구조화하는 지능적이고 효율적인 방법을 확인할 수 있다.
이 책에서 설명하는 디자인 패턴은 오랜 시간을 거쳐 개발자들에 의해 만들어진 많은 패턴의 일부다. 이 책에서는 액션스크립트 애플리케이션 개발에 가장 유용하고 응용될 수 있을만한 패턴을 선택했다. 이런 패턴을 복음처럼 받들길 바라지는 않는다. 단지 애플리케이션을 개발할 때 좋은 가이드와 영감을 제공하려는 의도다. 설명할 패턴은 프로그래밍 전문가들에 의해 몇 년을 거쳐 검증되고 확인된 패턴이다. 패턴을 공부함으로써 여러분은 거인의 어깨에 설 수 있다. 하지만 이 패턴들이 절대적인 척도는 아니라는 사실을 잊지 말아야 한다. 전문가들이 유용하다고 발견한 것들이 반드시 그렇게 따라야 하는 것들이라는 의미는 아니다. 열린 마음으로, 하지만 심각하게 모든 내용을 읽기 바란다.
[ 이 책에서 다루는 내용 ]
■ 데코레이터 패턴(Decorator pattern)을 통해 두 개의 객체를 짝지어 놓거나 새로운 래퍼(wrapper)객체로 감싸줌으로써 런타임에서 다른 형태의 객체를 만들기
■ 복잡한 계층적인 구조를 컴포지트 패턴(Composite pattern)을 통해서 단순화하기
■ 복잡한 문자열 패턴을 정규표현식(regular expression)을 이용해 검색하기
[ 이 책의 대상 독자 ]
기본적인 프로그래밍에 대한 이해를 갖추고 있고 액션스크립트 3.0 원칙을 이해하고 변수, 표현, 선언문, 객체, 상속과 기본적인 클래스를 작성하는 방법을 어느 정도 이해하고 있다고 가정한다.
이 책은 대부분의 책이 객체지향 액션스크립트에 대한 설명을 끝내는 부분에서 시작한다. 많은 책이 클래스를 작성하는 방법을 알려주지만 이 책은 여러 가지 방법으로 클래스를 설계할 수 있는 다양한 방법을 제시한다. 이 책은 언제, 왜, 어떻게 합성과 상속을 이용하고 클래스를 어떻게 서로 연관시키고 패턴을 형성할지 말해준다.
목차
목차
- 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
- 분석 단계 ... 28
- 2장 인터페이스 프로그래밍 ... 65
- 인터페이스 정의 ... 66
- 인터페이스 생성을 통한 인터페이스 정의 ... 68
- 상속을 통한 인터페이스 정의 ... 70
- 인터페이스 정의 방법의 결정 ... 71
- 다형성 ... 72
- 타입과 클래스의 차이점 ... 74
- 런타임에서 결정 ... 74
- 정리 ... 77
- 인터페이스 정의 ... 66
- 2부 패턴
- 3장 모델-뷰-컨트롤러 패턴 ... 81
- MVC 구성 요소 소개 ... 82
- 모델 ... 83
- 뷰 ... 83
- 컨트롤러 ... 83
- 구성 요소 간의 관계 ... 83
- 간단한 예제 작성 ... 84
- 시계 데이터 모델 ... 85
- 아날로그 시계 뷰 ... 88
- 아날로그 시계 테스트 ... 90
- 디지털 시계 뷰 ... 92
- 디지털 시계 테스트 ... 94
- 하나의 모델에 여러 개 뷰 적용 ... 95
- 모델 구현 수정 ... 96
- 컨트롤러 추가 ... 99
- 정리 ... 104
- MVC 구성 요소 소개 ... 82
- 4장 싱글턴 패턴 ... 105
- 객체 인스턴스화 ... 106
- 인스턴스화의 제한 ... 107
- 단 한 개의 인스턴스와 전역적인 접근 ... 108
- 싱글턴과 정적 멤버(변수나 메소드) ... 110
- 간단한 싱글턴 패턴 예제 ... 111
- 싱글턴 클래스 작성 ... 111
- 싱글턴 클래스 호출 ... 113
- 환경 설정 프레임워크 작성 ... 113
- XML 문서 작성 ... 113
- Settings 클래스 작성 ... 114
- Settings 클래스 호출 ... 117
- 정리 ... 118
- 객체 인스턴스화 ... 106
- 5장 팩토리 패턴과 템플릿 메소드 패턴 ... 119
- 추상 클래스 ... 119
- 템플릿 메소드 ... 120
- 팩토리 메소드 ... 123
- 정리 ... 127
- 6장 프록시 패턴 ... 129
- 가상 프록시 ... 130
- 이미지 로더 예제 ... 130
- 게으른 직렬화 예제 ... 132
- 원격 프록시 ... 137
- 플리커 검색 프록시 예제 ... 137
- flash.utils.Proxy ... 139
- 어댑터와 퍼사드 패턴 ... 144
- 정리 ... 144
- 가상 프록시 ... 130
- 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
- 데코레이터 패턴의 이해 ... 174
- 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
- 커맨드 패턴의 이해 ... 208
- 11장 메멘토 패턴 ... 251
- Proximity 게임에서 실행을 되돌리기 위한 메멘토 패턴 사용 ... 257
- 메멘토 타입 정의 ... 258
- 오리지네이터 작성 ... 258
- 되돌릴 수 있는 명령 타입 정의 ... 259
- CommandFactory 업데이트 ... 261
- 메인 클래스 업데이트 ... 262
- Proximity 게임에서 명령 다시 실행 기능을 만들기 위한 메멘토 패턴 ... 263
- 다시 실행 명령 정의 ... 263
- Factory 클래스 편집 ... 265
- 메인 클래스 편집 ... 265
- 정리 ... 266
- Proximity 게임에서 실행을 되돌리기 위한 메멘토 패턴 사용 ... 257
- 12장 스테이트 패턴 ... 267
- 간단한 스테이트 예제 ... 268
- SimpleShooter 클래스 작성 ... 268
- 메인 예제 클래스 작성 ... 269
- 이 예제의 문제점 ... 271
- 상태 캡슐화 ... 271
- 슈터 상태 인터페이스 ... 272
- 상태 객체 ... 272
- ShooterStateMachine 클래스 ... 274
- 메인 예제 클래스 작성 ... 276
- 추상 클래스 이용 ... 277
- 추상 슈터 상태 ... 277
- 상태 객체 ... 279
- 슈터 상태 머신 ... 281
- 메인 예제 클래스 작성 ... 282
- 전이 ... 283
- 상태 머신에서 정의된 전이 ... 284
- 상태 객체에서 정의된 전이 ... 286
- 정리 ... 291
- 간단한 스테이트 예제 ... 268
- 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
- 텍스트 로딩 ... 318
- 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
관련 블로그 글
『액션스크립트 3.0 디자인 패턴』내공을 쑥! 높이세요
플래시/플렉스 개발자를 위한
『액션스크립트 3.0 디자인 패턴』
조이 로트, 대니 패터슨 지음 | 정호연 옮김 | 양주일 감수
400쪽 | 28,000원 | 2008년 10월 28일 출간예정
『액션스크립트 3.0 디자인 패턴』
조이 로트, 대니 패터슨 지음 | 정호연 옮김 | 양주일 감수
400쪽 | 28,000원 | 2008년 10월 28일 출간예정
방금 신간 소개 글을 올리려고 블로그 새 창을 열고 글을 쓰고, 표지 그림 파일을 올리려고 글을 쓰는데, '이게 웬걸' 파일 업로드 창이 뜨지를 않는 겁니다. 이게 웬일이지 싶어서 다른 컴퓨터에 가서 해봤더니 딴 직원 컴퓨터에서는 잘 열리네요. -0-; 헐. 어쩌나. 놀래서.... 우리 블로그의 플랫폼인 텍스트큐브의 도우미 페이지에 갔더니 누군가 저와 똑같은 질문을 올리신 분이 있었네요. ==;; 이에 lunamoth님이 답글을 남기셨군요.
텍스트큐브(태터툴즈)의 다중 업로드 지원을 위한 플래시업로더가 Flash 10 을 지원하지 않아서 발생하는 문제로 생각됩니다.며칠 전부터 플래시 플레이어 버전 10으로 갈아타라는 메시지가 뜨길래, 새거면 다 좋은 줄 알고 클릭해서 다운을 받아 설치를 했더랬죠. 그랬더니 텍스트큐브에선 미처 플래시 플레이어 10을 대비하지 못하셨나 보군요. 이런 낭패. 해당 프로그램을 삭제하고, 다시 플레이어 9으로 다운그레이드하니 천만다행. 이젠 잘 되네요. --;; 하필이면 플래시 관련 신간을 올리려던 참에 플래시가 말썽을 -0-;;
컴퓨터는 왜 이리도 어려운 걸까요. -0-;; 경우의 수는 남발을 하고, 대비해야 하는 상황은 너무나 많고. 하지만 또 어느 정도 대비책은 얼추 보입니다. 좀전만 해도 다행히 텍스트큐브 질문과 답변 포럼을 찾아 문제를 해결할 수 있었을 테니까요. 안 그랬으면 또 에이콘을 지켜주는(?) 정의의 흑기사 양모님을 불렀을지도 모르겠네요. "도와줘요~ 뽀빠이~"하구요. (오늘도 양모석호님은 한 건 해주셨거든요. 아니 2건이었네요. 다시 한번 감사해요. ^^;)
오늘의 책 소개와 맞는 이야기일는지는 모르겠지만 애플리케이션을 작성하다 보면 반복적으로 나타나는 패턴이 있음을 분명히 느끼게 됩니다. 임무를 완수하고, 빈번하게 발생하는 보편적인 문제를 해결하는 방법을 찾게 되죠. 이런 일반적인 해결책을 고민한 것이 바로 "디자인 패턴"의 근간입니다.
디자인 패턴은 오랜 시간을 거쳐 개발자들이 만들고 집대성해왔습니다. 그 동안 수많은 "디자인 패턴"책이 독자들의 사랑을 받아왔죠. 그런데 유독 액션스크립트에 대한 디자인 패턴 책은 전무하다고 할 만큼 흔치가 않았습니다. 최근 모 출판사에서도 원서는 출간되기는 했지만요. 그 까닭으로는 액션스크립트 2.0까지는 언어로서의 특징을 모담기에는 그 역량이 부족했던 탓도 있을까요.
다른 개발 언어에 비해 액션스크리트는 개발 언어로서의 견고함과 생산성이 미비했던 게 사실이었습니다. 레퍼런스와 라이브러리도 부족했구요. 그러나 액션스크립트 3.0에서 드디어 객체지향 프로그래밍의 성격을 완성하면서 드디어 디자인 패턴 책이 탄생하게 됐습니다.
『플래시/플렉스 개발자를 위한 액션스크립트 3.0 디자인 패턴』은 액션스크립트를 더욱 빛나게 할 책이라 말할 수 있습니다. 그동안 플래시 분야에 조금씩 알려졌던 디자인 패턴을 응용한 개발을 총 집대성한 책으로 플래시 개발자들의 갈증을 시원하게 날려줄 것입니다.양주일님은 그야말로 휘하의 모든 직원을 'YG패밀리'라는 이름으로 에이콘 책 번역에 투입해.. 주셨... 다고 하면 좀 과장일까요? 방탄 Ajax를 번역한 장정환 랩장님, 성공하는 UCC 사이트를 위한 플래시 비디오 실전 프로젝트를 번역한 조호영 팀장님에 이어 이번 책을 번역한 정호연님까지. 최근 친구들을 모조리 번역계로 발을 들여놓게 하신 early bird 민병호님도 계시고 선후배들을 많이 소개해준 강유님, 제갈호준님, 업계 동료들을 끌어들이신 박재호님 등 대부분 알음알음으로 선후배들을 소개해주시는 분들도 많지만, 이렇게 휘하의 부하(?) 직원을 모두 번역계로 끌어들이신 분은 흔치 않으실 겁니다. ;; 게다가 모종의 "얼굴(!) 프로젝트"를 추진해주시기도 하니 너무너무 감사할 따름입니다. :) 천국 가실 거에요. ^^;;
여타 프로그래밍 언어에서는 디자인 패턴에 관한 수많은 책이 출간됐지만 플래시는 거의 전무했다고 해도 과언이 아니듯 알려진 것이 별로 없었습니다. 특히나 이 책은 객체지향 프로그래밍의 완성인 액션스크립트 3.0에 대한 최초의 디자인 패턴 서적이므로 좀 더 정교한 애플리케이션 제작을 고민하는 여러분께 큰 힘이 될 것입니다.
감수의 글 중에서,
양주일 / NHN UIT센터장
저자는 앞부분에서 적절한 기능에 따라 객체를 나누는 방법부터 “설계-개발-테스트”로 이어지는 프로그램의 올바른 개발 과정까지 자세하게 설명합니다. 중반부에서는 각 디자인 패턴을 적절한 예제와 함께 제시하고 있으며, 후반부에서는 이벤트 모델, E4X, 정규표현식 같이 액션스크립트의 고급 주제를 알기 쉽게 접근합니다.감수를 보신 양주일님의 극찬(!)을 받으며 깔끔하게 번역을 마무리해주신 정호연님 정말 고생 많으셨습니다. 플래시/플렉스 개발자, 특히나 중급을 넘어서 뭔가 한 단계 내공을 높이고 싶은 분들께 분명히 꼭 필요한 책이 될 거라고 생각합니다. 사무실을 딱 들어설 때 가수 조성모가 들어오는 줄 알고 깜딱 놀랜 날이 엊그제 같은데 벌써 책이 출간됐네요. :) 정말 닮았냐구요? ... 의심이 많은 여러분을 위한 짤방 하나.
특히 이 책에 포함된 플리커를 이용한 매쉬업, 게임 등의 예제 프로젝트들은 실무에 적용해봐도 손색이 없을 정도로 완성도가 높습니다. 이 책으로 동료 개발자와 스터디하고, 학습한 디자인 패턴을 바탕으로 함께 프로그램을 설계하고, 역할을 분담해 협업을 진행해 보십시오. 여러분의 내공이 분명히 향상될 것입니다.
- 옮긴이의 말 중에서, 정호연
[#M_<<< 정말 조성모를 닮았는지 확인하고 싶으신 분만 클릭.|>>> 정면 모습은 책에 담긴 역자사진에서 확인해주세요! :)|_M#]
좀더 달리고 싶었지만 10월에 독자를 만날 마지막 책이 될 듯한『플래시/플렉스 개발자를 위한 액션스크립트 3.0 디자인 패턴』은 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 예약판매 중입니다.
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
도서 오류 신고
정오표
[ p88 아래에서 4행 ]
protected function draw(event:Event):void {
→ protected function draw(event:Event = null):void {
[ p116 12행 ]
return _data.cs::property.@id == qname.@value;
→ return _data.cs::property.(@id == qname).@value;
[ p125 코드 6행 ]
varfield:IField=createField();
→ var field:IField = createField();
protected function draw(event:Event):void {
→ protected function draw(event:Event = null):void {
[ p116 12행 ]
return _data.cs::property.@id == qname.@value;
→ return _data.cs::property.(@id == qname).@value;
[ p125 코드 6행 ]
varfield:IField=createField();
→ var field:IField = createField();