GOFPatterns 
eWebProgrammer J2EEOnline
prev next prev next
Course navigation
Lesson 1
Structural design patterns
This module explores structural patterns, patterns that use composition to merge objects and classes into larger structures. A good toolbox of structural patterns allows you to solve many thorny problems you are likely to encounter. They show you how to glue different pieces of a system together in a flexible and extensible fashion. Structural patterns help you guarantee that when one of the parts changes, the entire structure doesn't need to change. They also show you how to recast pieces that don't fit (but that you need to use) into pieces that do fit.
In this module, you will learn:
  1. How programmers use structural patterns
  2. The characteristics of some commonly used structural patterns
  3. When and when not to use the Flyweight pattern
  4. How the Flyweight pattern can help with your course project
  1. Adapter pattern: 'adapts' one interface for a class into one that a client expects
  2. Retrofit Interface Pattern: An adapter used as a new interface for multiple classes at the same time.
  3. Adapter pipeline: Use multiple adapters for debugging purposes.
  4. Aggregate pattern: a version of the Composite pattern with methods for aggregation of children
  5. Bridge pattern: decouple an abstraction from its implementation so that the two can vary independently
  6. Tombstone: An intermediate "lookup" object contains the real location of an object.
  7. Composite pattern: a tree structure of objects where every object has the same interface
  8. Decorator pattern: add additional functionality to a class at runtime where subclassing would result in an exponential rise of new classes
  9. Extensibility pattern: aka. Framework - hide complex code behind a simple interface
  10. Facade pattern: create a simplified interface of an existing interface to ease usage for common tasks
  11. Flyweight pattern: a high quantity of objects share a common properties object to save space
  12. Proxy pattern: a class functioning as an interface to another thing
  13. Pipes and filters: a chain of processes where the output of each process is the input of the next
  14. Private class data pattern: restrict accessor/mutator access
Course navigation