Design Patterns Explained: A New Perspective on Object-Oriented Design, 2/e (Paperback)
暫譯: 設計模式解析:物件導向設計的新視角,第二版 (平裝本)
Alan Shalloway, James R. Trott
- 出版商: Addison Wesley
- 出版日期: 2004-10-12
- 定價: $2,300
- 售價: 9.5 折 $2,185
- 語言: 英文
- 頁數: 480
- 裝訂: Paperback
- ISBN: 0321247140
- ISBN-13: 9780321247148
-
相關分類:
Object-oriented、Design Pattern
-
相關翻譯:
設計模式解析, 2/e (修訂版) (簡中版)
設計模式的解析與活用 (Design Patterns Explained: A New Perspective on Object-Oriented Design, 2/e) (繁中版)
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$980$774 -
$490$417 -
$860$568 -
$650$429 -
$1,920$1,824 -
$780$741 -
$760$600 -
$590$466 -
$560$476 -
$2,370$2,252 -
$480$379 -
$750$593 -
$780$616 -
$490$382 -
$690$538 -
$480$408 -
$675LPIC 1 Exam Cram 2: Linux Professional Institute Certification Exams 101 and 102 (Paperback)
-
$480$408 -
$650$507 -
$460$363 -
$520$406 -
$880$695 -
$620$490 -
$450$356 -
$650$514
相關主題
商品描述
Description:
"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examples—this has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development."
—Bruce Eckel
"...I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books."
—James Noble
Leverage the quality and productivity benefits of patterns—without the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively.
You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams.
Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes
- Better ways to start "thinking in patterns"
- How design patterns can facilitate agile development using eXtreme Programming and other methods
- How to use commonality and variability analysis to design application architectures
- The key role of testing into a patterns-driven development process
- How to use factories to instantiate and manage objects more effectively
- The Object-Pool Pattern—a new pattern not identified by the "Gang of Four"
- New study/practice questions at the end of every chapter
Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal "first book" on patterns, and a perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patterns—or if you've struggled to make them work for you—read this book.
Table of Contents:
I. AN INTRODUCTION TO OBJECT-ORIENTED SOFTWARE DEVELOPMENT.
1. The Object-Oriented Paradigm.
Overview.
Before the Object-Oriented Paradigm: Functional Decomposition.
The Problem of Requirements.
Dealing with Changes: Using Functional Decomposition.
Dealing with Changing Requirements.
The Object-Oriented Paradigm.
Object-Oriented Programming in Action.
Special Object Methods.
Summary.
Review Questions.
2. The UML-The Unified Modeling Language.
Overview.
What Is the UML?
Why Use the UML?
The Class Diagram.
Interaction Diagrams.
Summary.
Review Questions.
II. THE LIMITATIONS OF TRADITIONAL OBJECT-ORIENTED DESIGN.
3. A Problem That Cries Out for Flexible Code.
Overview.
Extracting Information from a CAD/CAM System.
Understand the Vocabulary.
Describe the Problem.
The Essential Challenges and Approaches.
Summary.
Review Questions.
4. A Standard Object-Oriented Solution.
Overview.
Solving with Special Cases.
Summary.
Review Questions.
III. DESIGN PATTERNS.
5. An Introduction to Design Patterns.
Overview.
Design Patterns Arose from Architecture and Anthropology.
Moving from Architectural to Software Design Patterns.
Why Study Design Patterns?
Other Advantages of Studying Design Patterns.
Summary.
Review Questions.
6. The Facade Pattern.
Overview.
Introducing the Facade Pattern.
Learning the Facade Pattern.
Field Notes: The Facade Pattern.
Relating the Facade Pattern to the CAD/CAM Problem.
Summary.
Review Questions.
7. The Adapter Pattern.
Overview.
Introducing the Adapter Pattern.
Learning the Adapter Pattern.
Field Notes: The Adapter Pattern.
Relating the Adapter Pattern to the CAD/CAM Problem.
Summary.
Review Questions.
8. Expanding Our Horizons.
Overview.
Objects: The Traditional View and the New View.
Encapsulation: The Traditional View and the New View.
Find What Is Varying and Encapsulate It.
Commonality and Variability Analysis and Abstract Classes.
The Qualities of Agile Coding.
Summary.
Review Questions.
9. The Strategy Pattern.
Overview.
An Approach to Handling New Requirements.
The International E-Commerce System Case Study: Initial Requirements.
Handling New Requirements.
The Strategy Pattern.
Field Notes: Using the Strategy Pattern.
Summary.
Review Questions.
10. The Bridge Pattern.
Overview.
Introducing the Bridge Pattern.
Learning the Bridge Pattern: An Example.
An Observation About Using Design Patterns.
Learning the Bridge Pattern: Deriving It.
The Bridge Pattern in Retrospect.
Field Notes: Using the Bridge Pattern.
Summary.
Review Questions.
11. The Abstract Factory Pattern.
Overview.
Introducing the Abstract Factory Pattern.
Learning the Abstract Factory Pattern: An Example.
Learning the Abstract Factory Pattern: Implementing It.
Field Notes: The Abstract Factory Pattern.
Relating the Abstract Factory Pattern to the CAD/CAM Problem.
Summary.
Review Questions.
IV. PUTTING IT ALL TOGETHER: THINKING IN PATTERNS.
12. How Do Experts Design?
Overview.
Building by Adding Distinctions.
Summary.
Review Questions.
13. Solving the CAD/CAM Problem with Patterns.
Overview.
Review of the CAD/CAM Problem.
Thinking in Patterns.
Thinking in Patterns: Step 1.
Thinking in Patterns: Step 2a.
Thinking in Patterns: Step 2b.
Thinking in Patterns: Step 2c.
Thinking in Patterns: Steps 2a and 2b Repeated (Facade).
Thinking in Patterns: Steps 2a and 2b Repeated (Adapter).
Thinking in Patterns: Steps 2a and 2b Repeated (Abstract Factory).
Thinking in Patterns: Step 3.
Comparison with the Previous Solution.
Summary.
Review Questions.
V. TOWARD A NEW PARADIGM OF DESIGN.
14. The Principles and Strategies of Design Patterns.
Overview.
The Open-Closed Principle.
The Principle of Designing from Context.
The Principle of Encapsulating Variation.
Abstract Classes vs. Interfaces.
The Principle of Healthy Skepticism.
Summary.
Review Questions.
15. Commonality and Variability Analysis.
Overview.
Commonality and Variability Analysis and Application Design.
Solving the CAD/CAM Problem with CVA.
Summary.
Review Questions.
16. The Analysis Matrix.
Overview.
In the Real World: Variations.
The International E-Commerce System Case Study: Handling Variation.
Field Notes.
Summary.
Review Questions.
17. The Decorator Pattern.
Overview.
A Little More Detail.
The Decorator Pattern.
Applying the Decorator Pattern to the Case Study.
Another Example: Input/Output.
Field Notes: Using the Decorator Pattern.
The Essence of the Decorator Pattern.
Summary.
Review Questions.
VI. OTHER VALUES OF PATTERNS.
18. The Observer Pattern.
Overview.
Categories of Patterns.
More Requirements for the International E-Commerce Case Study.
The Observer Pattern.
Applying the Observer to the Case Study.
Field Notes: Using the Observer Pattern.
Summary.
Review Questions.
19. The Template Method Pattern.
Overview.
More Requirements for the International E-Commerce Case Study.
The Template Method Pattern.
Applying the Template Method to the International E-Commerce Case Study.
Using the Template Method Pattern to Reduce Redundancy.
Field Notes: Using the Template Method Pattern.
Summary.
Review Questions.
VII. FACTORIES.
20. Lessons from Design Patterns: Factories.
Overview.
Factories.
The Universal Context Revisited.
Factories Follow Our Guidelines.
Limiting the Vectors of Change.
Another Way to Think About It.
Different Roles of Factories.
Field Notes.
Summary.
Review Questions.
Overview.
21. The Singleton Pattern and the Double-Checked Locking Pattern.
Introducing the Singleton Pattern.
Applying the Singleton Pattern to the Case Study.
A Variant: The Double-Checked Locking Pattern.
Reflections.
Field Notes: Using the Singleton and Double-Checked Locking Patterns.
Summary.
Review Questions.
22. The Object Pool Pattern.
Overview.
A Problem Requiring the Management of Objects.
The Object Pool Pattern.
Observation: Factories Can Do Much More Than Instantiation.
Summary.
Review Questions.
23. The Factory Method Pattern.
Overview.
More Requirements for the Case Study.
The Factory Method Pattern.
Factory Method Pattern and Object-Oriented Languages.
Field Notes: Using the Factory Method Pattern.
Summary.
Review Questions.
24. Summary of Factories.
Overview.
Steps in the Software Process.
Parallels in Factories and XP Practices.
Scaling Systems.
VIII. ENDINGS AND BEGINNINGS.
25. Design Patterns Reviewed: A Summation and a Beginning.
Overview.
A Summary of Object-Oriented Principles.
How Design Patterns Encapsulate Implementations.
Commonality and Variability Analysis and Design Patterns.
Decomposing a Problem Domain into Responsibilities.
Patterns and Contextual Design.
Relationships Within a Pattern.
Design Patterns and Agile Coding Practices.
Field Notes.
Summary.
Review Questions.
26. Bibliography.
Design Patterns Explained: The Web Site Companion.
Recommended Reading.
Recommended Reading for Java Programmers.
Recommended Reading for C++ Programmers.
Recommended Reading for COBOL Programmers.
Recommended Reading on eXtreme Programming.
Recommended Reading on General Programming.
Personal Favorites.
Index.
商品描述(中文翻譯)
**描述:**
「這本書的一個偉大之處在於,作者用類比而非程式範例來非常簡單地解釋概念——這對我正在進行的產品非常有啟發性:一個僅音頻的物件導向程式設計和軟體開發入門。」
—Bruce Eckel
「……我預期對物件導向程式設計和設計有基本了解的讀者會發現這本書有用,這在完全接觸設計模式之前是很有幫助的。《設計模式解釋》補充了現有的設計模式文本,並可能在入門文本(如《UML精華》)和更高級的模式書籍之間發揮非常有用的作用。」
—James Noble
利用模式的質量和生產力優勢——不需要複雜性!《設計模式解釋,第二版》是該領域最簡單、最清晰、最實用的模式入門書籍。使用數十個更新的Java範例,它向程式設計師和架構師展示了如何更有效地使用模式來設計、開發和交付軟體。
您將從模式的基本原則和物件導向分析與設計在當代軟體開發中的角色的完整概述開始。然後,使用易於理解的範例程式碼,Alan Shalloway和James Trott闡明了當今最有用的數十種模式:它們的基本概念、優勢、權衡、實現技術和應避免的陷阱。許多模式都附有UML圖。
在他們的暢銷第一版的基礎上,Shalloway和Trott徹底更新了這本書,以反映新的軟體設計趨勢、模式和實現技術。根據廣泛的讀者反饋,他們在整體上深化和澄清了內容,並重新組織了內容以便於理解。本版的新內容和改版內容包括:
- 更好的開始「以模式思考」的方法
- 設計模式如何利用極限程式設計和其他方法促進敏捷開發
- 如何使用共通性和變異性分析來設計應用架構
- 測試在以模式驅動的開發過程中的關鍵角色
- 如何使用工廠更有效地實例化和管理物件
- 物件池模式——一種「四人幫」未曾識別的新模式
- 每章結尾的新學習/實踐問題
這本書溫和而徹底,假設讀者對模式完全沒有經驗。它是關於模式的理想「第一本書」,也是Gamma經典《設計模式》的完美補充。如果您是一位希望對設計模式有最清晰理解的程式設計師或架構師——或者如果您曾經努力讓它們為您工作——請閱讀這本書。
**目錄:**
I. 物件導向軟體開發簡介。
1. 物件導向範式。
- 概述。
- 在物件導向範式之前:功能分解。
- 需求的問題。
- 處理變更:使用功能分解。
- 處理變更的需求。
- 物件導向範式。
- 物件導向程式設計實踐。
- 特殊物件方法。
- 總結。
- 複習問題。
2. UML——統一建模語言。
- 概述。
- UML是什麼?
- 為什麼使用UML?
- 類別圖。
- 互動圖。
- 總結。
- 複習問題。
II. 傳統物件導向設計的局限性。
3. 一個呼喚靈活程式碼的問題。
- 概述。
- 從CAD/CAM系統提取資訊。
- 理解詞彙。
- 描述問題。
- 本質挑戰與方法。
- 總結。
- 複習問題。
4. 標準物件導向解決方案。
- 概述。
- 使用特殊案例解決問題。
- 總結。
- 複習問題。
III. 設計模式。
5. 設計模式簡介。
- 概述。
- 設計模式源於建築學和人類學。
- 從建築設計模式轉向軟體設計模式。
- 為什麼學習設計模式?
- 學習設計模式的其他優勢。
- 總結。
- 複習問題。
6. 外觀模式。
- 概述。
- 介紹外觀模式。
- 學習外觀模式。
- 實地筆記:外觀模式。
- 將外觀模式與CAD/CAM問題相關聯。
- 總結。
- 複習問題。
7. 適配器模式。
- 概述。