1. Proxy Patternhistorical

    The proxy pattern adds functionality around an existing class or function without changing the original code, with static, dynamic, AOP, Go, and cache-proxy examples.

  2. Decorator Patternhistorical

    The decorator pattern adds new functionality to a class or function without changing the original code, with Java and Go examples.

  3. Adapter Patternhistorical

    The adapter pattern is used to make an old-system interface compatible with a new interface, with Java and Go examples.

  4. Flyweight Patternhistorical

    Flyweight-pattern notes with UML and a Java example using a chess-object pool.

  5. Facade Patternhistorical

    Facade-pattern notes with UML plus Java and Go examples that wrap a complex process behind one interface.

  6. Bridge Patternhistorical

    Bridge-pattern notes for class hierarchies with multiple varying dimensions, with UML and a Java brand/device example.

  7. Composite Patternhistorical

    Composite-pattern notes for tree-shaped whole/part structures, with Java and Go file-tree examples.