ActionScript 3.0 Design Patterns: Object Oriented Programming Techniques (Paperback)
暫譯: ActionScript 3.0 設計模式:物件導向程式設計技術 (平裝本)

William Sanders, Chandima Cumaranatunge

  • 出版商: O'Reilly
  • 出版日期: 2007-08-07
  • 定價: $1,480
  • 售價: 5.0$740
  • 語言: 英文
  • 頁數: 530
  • 裝訂: Paperback
  • ISBN: 0596528469
  • ISBN-13: 9780596528461
  • 相關分類: ActionScript & FLASHDesign Pattern
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

相關主題

商品描述

Description

Now that ActionScript is reengineered from top to bottom as a true object-oriented programming (OOP) language, reusable design patterns are an ideal way to solve common problems in Flash and Flex applications. If you're an experienced Flash or Flex developer ready to tackle sophisticated programming techniques with ActionScript 3.0, this hands-on introduction to design patterns is the book you need.

ActionScript 3.0 Design Patterns takes you step by step through the process, first by explaining how design patterns provide a clear road map for structuring code that actually makes OOP languages easier to learn and use. You then learn about various types of design patterns and construct small abstract examples before trying your hand at building full-fledged working applications outlined in the book. Topics in ActionScript 3.0 Design Patterns include:
  • Key features of ActionScript 3.0 and why it became an OOP language
  • OOP characteristics, such as classes, abstraction, inheritance, and polymorphism
  • The benefits of using design patterns
  • Creational patterns, including Factory and Singleton patterns
  • Structural patterns, including Decorator, Adapter, and Composite patterns
  • Behavioral patterns, including Command, Observer, Strategy, and State patterns
  • Multiple design patterns, including Model-View-Controller and Symmetric Proxy designs
During the course of the book, you'll work with examples of increasing complexity, such as an e-business application with service options that users can select, an interface for selecting a class of products and individual products in each class, an action game application, a video record and playback application, and many more. Whether you're coming to Flash and Flex from Java or C++, or have experience with ActionScript 2.0, ActionScript 3.0 Design Patterns will have you constructing truly elegant solutions for your Flash and Flex applications in no time.

Table of Contents

Preface

Part I. Constant Change

1. Object-Oriented Programming, Design Patterns, and ActionScript 3.0

     The Pleasure of Doing Something Well

     OOP Basics

     Abstraction

     Encapsulation

     Inheritance

     Polymorphism

     Principles of Design Pattern Development

     Program to Interfaces over Implementations

     Favor Composition

     Maintenance and Extensibility Planning

     Your Application Plan: It Ain't You Babe

Part II. Creational Patterns

2. Factory Method Pattern

     What Is the Factory Method Pattern?

     Abstract Classes in ActionScript 3.0

     Minimalist Example

     Hiding the Product Classes

     Example: Print Shop

     Extended Example: Color Printing

     Key OOP Concepts Used in the Factory Method Pattern

     Example: Sprite Factory

     Example: Vertical Shooter Game

     Summary

3. Singleton Pattern

     What Is the Singleton Pattern?

     Key OOP Concepts Used with the Singleton Pattern

     Minimalist Abstract Singleton

     When to Use the Singleton Pattern

     Summary

Part III. Structural Patterns

4. Decorator Pattern

     What Is the Decorator Pattern?

     Key OOP Concepts Used with the Decorator Pattern

     Minimalist Abstract Decorator

     Applying a Simple Decorator Pattern in Flash: Paper Doll

     Decorating with Deadly Sins and Heavenly Virtues

     Dynamic Selection of Concrete Components and Decorations: A Hybrid Car Dealership

     Summary

5. Adapter Pattern

     What Is the Adapter Pattern?

     Object and Class Adapters

     Key OOP Concepts in the Adapter Pattern

     Example: Car Steering Adapter

     Extended Example: Steering the Car Using a Mouse

     Example: List Display Adapter

     Extended Example: Displaying the O'Reilly New Books List

     Summary

6. Composite Pattern

     What Is the Composite Pattern?

     Minimalist Example of a Composite Pattern

     Key OOP Concepts in the Composite Pattern

     Example: Music Playlists

     Example: Animating Composite Objects Using Inverse Kinematics

     Using Flash's Built-in Composite Structure: the Display List

     Summary

Part IV. Behavioral Patterns

7. Command Pattern

     What Is the Command Pattern?

     Minimalist Example of a Command Pattern

     Key OOP Concepts in the Command Pattern

     Minimalist Example: Macro Commands

     Example: Number Manipulator

     Extended Example: Sharing Command Objects

     Extended Example: Implementing Undo

     Example: Podcast Radio

     Extended Example: Dynamic Command Object Assignment

     Summary

8. Observer Pattern

     What Is the Observer Pattern?

     Key OOP Concepts Used with the Observer Pattern

     Minimalist Abstract Observer

     Example: Adding States and Identifying Users

     Dynamically Changing States

     Example: Working with Different Data Displays

     Summary

9. Template Method Pattern

     What Is the Template Method Pattern?

     Key OOP Concepts Used with the Template Method

     Minimalist Example: Abstract Template Method

     Employing Flexibility in the Template Method

     Selecting and Playing Sound and Video

     Hooking It Up

     Summary

10. State Pattern

     Design Pattern to Create a State Machine

     Key OOP Concepts Used with the State Pattern

     Minimalist Abstract State Pattern

     Video Player Concrete State Application

     Expanding the State Design: Adding States

     Adding More States and Streaming Capabilities

     Summary

11. Strategy Pattern

     What Is the Strategy Pattern?

     Key OOP Concepts Used with the Strategy Pattern

     Minimalist Abstract State Pattern

     Adding More Concrete Strategies and Concrete Contexts

     Working with String Strategies

     Summary

Part V. Multiple Patterns

12. Model-View-Controller Pattern

     What Is the Model-View-Controller (MVC) Pattern?

     Communication Between the MVC Elements

     Embedded Patterns in the MVC

     Minimalist Example of an MVC Pattern

     Key OOP Concepts in the MVC Pattern

     Example: Weather Maps

     Extended Example: Infrared Weather Maps

     Example: Cars

     Custom Views

     Adding a Chase Car

     Summary

13. Symmetric Proxy Pattern

     Simultaneous Game Moves and Outcomes

     The Symmetric Proxy Pattern

     Key OOP Concepts Used with the Symmetric Proxy

     The Player Interface

     The Referee

     Information Shared Over the Internet

     Player-Proxy Classes

     Classes and Document Files Support

     Summary

Index

商品描述(中文翻譯)

**描述**

現在,ActionScript 已經從頭到尾重新設計為真正的物件導向程式設計(OOP)語言,可重用的設計模式是解決 Flash 和 Flex 應用程式中常見問題的理想方法。如果您是一位有經驗的 Flash 或 Flex 開發人員,準備好使用 ActionScript 3.0 探索複雜的程式設計技術,那麼這本關於設計模式的實用入門書籍就是您所需要的。

《ActionScript 3.0 設計模式》將逐步引導您了解這個過程,首先解釋設計模式如何提供清晰的路線圖,以結構化代碼,實際上使 OOP 語言更容易學習和使用。接著,您將學習各種設計模式的類型,並構建小型抽象範例,然後再嘗試構建書中概述的完整工作應用程式。《ActionScript 3.0 設計模式》中的主題包括:
- ActionScript 3.0 的關鍵特性及其成為 OOP 語言的原因
- OOP 特性,如類別、抽象、繼承和多型
- 使用設計模式的好處
- 創建模式,包括工廠模式和單例模式
- 結構模式,包括裝飾者模式、適配器模式和組合模式
- 行為模式,包括命令模式、觀察者模式、策略模式和狀態模式
- 多種設計模式,包括模型-視圖-控制器(MVC)和對稱代理設計

在本書的過程中,您將處理逐漸增加複雜性的範例,例如具有用戶可選擇服務選項的電子商務應用程式、選擇產品類別和每個類別中個別產品的介面、動作遊戲應用程式、視頻錄製和播放應用程式等等。無論您是從 Java 或 C++ 轉向 Flash 和 Flex,還是有使用 ActionScript 2.0 的經驗,《ActionScript 3.0 設計模式》都將讓您迅速為您的 Flash 和 Flex 應用程式構建出真正優雅的解決方案。

**目錄**

**前言**

**第一部分:不斷變化**
1. 物件導向程式設計、設計模式與 ActionScript 3.0
- 做好事情的樂趣
- OOP 基礎
- 抽象
- 封裝
- 繼承
- 多型
- 設計模式開發原則
- 優先考慮介面而非實作
- 偏好組合
- 維護與擴展計劃
- 您的應用計劃:這不是你,寶貝

**第二部分:創建模式**
2. 工廠方法模式
- 工廠方法模式是什麼?
- ActionScript 3.0 中的抽象類別
- 最小範例
- 隱藏產品類別
- 範例:印刷店
- 擴展範例:彩色印刷
- 工廠方法模式中使用的關鍵 OOP 概念
- 範例:精靈工廠
- 範例:垂直射擊遊戲
- 總結

3. 單例模式
- 單例模式是什麼?
- 與單例模式一起使用的關鍵 OOP 概念
- 最小抽象單例
- 何時使用單例模式
- 總結

**第三部分:結構模式**
4. 裝飾者模式
- 裝飾者模式是什麼?
- 與裝飾者模式一起使用的關鍵 OOP 概念
- 最小抽象裝飾者
- 在 Flash 中應用簡單的裝飾者模式:紙娃娃
- 用七宗罪和美德裝飾
- 動態選擇具體組件和裝飾:混合動力車經銷商
- 總結

5. 適配器模式
- 適配器模式是什麼?
- 物件和類別適配器
- 適配器模式中的關鍵 OOP 概念
- 範例:汽車方向盤適配器
- 擴展範例:使用滑鼠控制汽車
- 範例:列表顯示適配器
- 擴展範例:顯示 O'Reilly 新書列表
- 總結

6. 組合模式
- 組合模式是什麼?
- 組合模式的最小範例
- 組合模式中的關鍵 OOP 概念
- 範例:音樂播放列表
- 範例:使用反向運動學動畫組合物件
- 使用 Flash 的內建組合結構:顯示列表
- 總結

**第四部分:行為模式**
7. 命令模式
- 命令模式是什麼?
- 命令模式的最小範例
- 命令模式中的關鍵 OOP 概念
- 最小範例:宏命令
- 範例:數字操作器
- 擴展範例:共享命令物件
- 擴展範例:實現撤銷
- 範例:播客廣播
- 擴展範例:動態命令物件分配
- 總結

8. 觀察者模式
- 觀察者模式是什麼?
- 與觀察者模式一起使用的關鍵 OOP 概念
- 最小抽象觀察者
- 範例:添加狀態和識別用戶
- 動態改變狀態
- 範例:處理不同數據顯示
- 總結

9. 模板方法模式
- 模板方法模式是什麼?
- 與模板方法一起使用的關鍵 OOP 概念
- 最小範例:抽象模板方法
- 在模板方法中使用靈活性
- 選擇和播放音頻和視頻
- 連接它
- 總結

10. 狀態模式
- 創建狀態機的設計模式
- 與狀態模式一起使用的關鍵 OOP 概念
- 最小抽象狀態模式
- 視頻播放器具體狀態應用
- 擴展狀態設計:添加狀態
- 添加更多狀態和串流功能
- 總結

11. 策略模式
- 策略模式是什麼?
- 與策略模式一起使用的關鍵 OOP 概念
- 最小抽象狀態模式
- 添加更多具體策略和具體上下文
- 使用字串策略
- 總結

**第五部分:多種模式**
12. 模型-視圖-控制器模式
- 模型-視圖-控制器(MVC)模式是什麼?
- MVC 元素之間的通信
- MVC 中的嵌入模式
- MVC 模式的最小範例
- MVC 模式中的關鍵 OOP 概念
- 範例:天氣地圖
- 擴展範例:紅外線天氣地圖
- 範例:汽車
- 自定義視圖
- 添加追逐車
- 總結

13. 對稱代理模式
- 同時遊戲移動和結果
- 對稱代理模式
- 與對稱代理一起使用的關鍵 OOP 概念
- 玩家介面
- 裁判
- 通過互聯網共享的信息
- 玩家-代理類別
- 類別和文檔文件支持
- 總結

**索引**