1 / 30

Understanding Design Patterns: Overcoming Pattern Overload with GRASP Principles

In software design, the abundance of patterns can overwhelm programmers. Mastering over 50 design patterns can be daunting, as most are variations of GRASP (General Responsibility Assignment Software Patterns) principles. This chapter emphasizes the importance of grasping the underlying themes rather than fixating on specific implementations. It introduces key concepts like Protected Variation, which addresses object instability by implementing stable interfaces to shield other program elements. Embrace the themes for a clearer understanding of software design instead of drowning in numerous patterns.

salim
Download Presentation

Understanding Design Patterns: Overcoming Pattern Overload with GRASP Principles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 26

  2. Fig. 26.1

  3. Fig. 26.2

  4. Pattern Overload: • Problem is there are hundreds of patterns. • Good programmer needs 50+ patterns • Most design patterns are specializations of GRASP principles • Focus on the underlying themes and not a specific pattern implementation of these themes.

  5. Fig. 26.3 generalization is “suggestive” of the conceptual connections

  6. GRASP Principles: • Protected Variation: • Problem: keep object instability from impacting other program elements. • Solution: Wrap points of instability with a stable interface. • Example: Writing your own adapter to hide direct calls to the API of some software package.

  7. Fig. 26.4

  8. Fig. 26.5

  9. Fig. 26.6

  10. Fig. 26.7

  11. Fig. 26.8

  12. Fig. 26.9

  13. Fig. 26.10

  14. Fig. 26.11

  15. Fig. 26.12

  16. Fig. 26.13

  17. Fig. 26.14

  18. Fig. 26.15

  19. Fig. 26.16

  20. Fig. 26.17

  21. Fig. 26.18

  22. Fig. 26.19

  23. Fig. 26.20

  24. Fig. 26.21

  25. Fig. 26.22

  26. Fig. 26.23

  27. Fig. 26.24

  28. Fig. 26.25

  29. Fig. 26.26

  30. Fig. 26.27

More Related