Introduction

Structural Design Patterns ease the design by identifying a simple way to realize relationships between entities. It explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.

Examples

Following pattern are comes under Structural Patterns

  • Facade: Create a simplified interface of an existing interface to ease usage for common tasks
  • Adapter: Adapts one interface for a class into one that a client expects
  • Bridge: Decouple an abstraction from its implementation so that the two can vary independently
  • Composite: A tree structure of objects where every object has the same interface
  • Decorator : Add additional functionality to a class at runtime where subclassing would result in an exponential rise of new classes
  • Flyweight: A high quantity of objects share a common properties object to save space
  • Proxy: A class functioning as an interface to another thing