Tag: decorator pattern

  • Delegate and Decorate in Python: Part 3 – Reusable Decorators

    Delegate and Decorate in Python: Part 3 – Reusable Decorators

    Note: This is not about Python’s language feature called decorators (with the @ symbol), but about the design patterns called “decorator” and “delegate.”

    In the final installment of this series, we will take the universal concepts of delegation and decoration and put them into a base Decorator class. Doing so will allow us to abstract the universal functionality these patterns to be inherited by more specific decorator classes, maximizing code reuse. Let’s dive in.

    (more…)
  • Delegate and Decorate in Python: Part 2 – The Decorator Pattern

    Delegate and Decorate in Python: Part 2 – The Decorator Pattern

    Note: This is not about Python’s language feature called decorators (with the @ symbol), but about the design patterns called “decorator” and “delegate.”

    In the previous article, we learned how to implement the Delegation pattern in Python. With this knowledge, we’ll now learn about the Decorator pattern, which will make use of delegation. We’ll learn about when we might use it and implement a couple of examples.

    (more…)
  • Delegate and Decorate in Python: Part 1 – The Delegation Pattern

    Delegate and Decorate in Python: Part 1 – The Delegation Pattern

    Note: This is not about Python’s language feature called decorators (with the @ symbol), but about the design patterns called “decorator” and “delegate.”

    In this series we’re going to learn two very useful design patterns: the delegation pattern and the decorator pattern. Each pattern is useful in that they help us enforce the single responsibility principle of object oriented programming. Getting these patterns to work as expected in Python requires a relatively deep dive into Python syntax as well as the always scary technique of metaprogramming. Let’s jump in!

    (more…)