Cart

Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd edition

BRAND: PEARSON

Publisher:Addison-Wesley Professional
Author: Alan Shalloway; James R. Trott
Edition:  © 2005
eBook ISBN:9780321630049
Print ISBN: 9780321247148
Type: 1 Year Subscription. Dành cho Cá nhân  

eBook edition. 1 year Subscription. Dành cho Cá nhân  |  Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In  

Số lượng:
Tổng tiền:
Giá có thể thay đổi bất kỳ khi nào.
Thời hạn giao hàng: 03 ngày làm việc với sách eBook và 30 ngày với sách In. Gọi để được Tư vấn Giáo Trình.

Mô tả sản phẩm


Giải thích về các mẫu thiết kế, Phiên bản thứ hai là phần giới thiệu đơn giản, rõ ràng và thực tế về các mẫu.  Sử dụng hàng chục ví dụ C# mới và Java cập nhật, nó chỉ cho sinh viên cách sử dụng các mẫu để thiết kế, phát triển và phân phối phần mềm hiệu quả hơn nhiều. Học sinh nên đọc cuốn sách này trước khi thử giải quyết tác phẩm nổi tiếng của Gamma, Các mẫu thiết kế. 
 

Cuốn sách bắt đầu với cái nhìn tổng quan đầy đủ về các nguyên tắc cơ bản của các mẫu cũng như vai trò của phân tích và thiết kế hướng đối tượng trong phát triển phần mềm hiện đại. Sau đó, bằng cách sử dụng mã mẫu dễ hiểu, Alan Shalloway và James Trott làm sáng tỏ hàng chục mẫu hữu ích nhất hiện nay: các khái niệm cơ bản, ưu điểm, sự đánh đổi, kỹ thuật triển khai và những cạm bẫy cần tránh. Nhiều mẫu đi kèm với sơ đồ UML.

Dựa trên Ấn bản đầu tiên bán chạy nhất của họ, Shalloway và Trott đã cập nhật kỹ lưỡng cuốn sách này để phản ánh các xu hướng, mẫu và kỹ thuật triển khai thiết kế phần mềm mới. Phản ánh phản hồi rộng rãi của độc giả, họ đã đào sâu và làm rõ nội dung xuyên suốt, đồng thời sắp xếp lại nội dung để dễ hiểu hơn nữa.


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

TỔNG QUAN SÁCH

Giải thích về các mẫu thiết kế, Phiên bản thứ hai là phần giới thiệu đơn giản, rõ ràng và thực tế về các mẫu.  Sử dụng hàng chục ví dụ C# mới và Java cập nhật, nó chỉ cho sinh viên cách sử dụng các mẫu để thiết kế, phát triển và phân phối phần mềm hiệu quả hơn nhiều. Học sinh nên đọc cuốn sách này trước khi thử giải quyết tác phẩm nổi tiếng của Gamma, Các mẫu thiết kế. 
 

Cuốn sách bắt đầu với cái nhìn tổng quan đầy đủ về các nguyên tắc cơ bản của các mẫu cũng như vai trò của phân tích và thiết kế hướng đối tượng trong phát triển phần mềm hiện đại. Sau đó, bằng cách sử dụng mã mẫu dễ hiểu, Alan Shalloway và James Trott làm sáng tỏ hàng chục mẫu hữu ích nhất hiện nay: các khái niệm cơ bản, ưu điểm, sự đánh đổi, kỹ thuật triển khai và những cạm bẫy cần tránh. Nhiều mẫu đi kèm với sơ đồ UML.

Dựa trên Ấn bản đầu tiên bán chạy nhất của họ, Shalloway và Trott đã cập nhật kỹ lưỡng cuốn sách này để phản ánh các xu hướng, mẫu và kỹ thuật triển khai thiết kế phần mềm mới. Phản ánh phản hồi rộng rãi của độc giả, họ đã đào sâu và làm rõ nội dung xuyên suốt, đồng thời sắp xếp lại nội dung để dễ hiểu hơn nữa.

MỤC LỤC

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

-%
0₫ 0₫
0915920514
0915920514