15

Dynamic Upgrades with the Decorator Pattern

In the last chapter, we built a flexible system for saving data snapshots at different moments in our program’s lifecycle. In this chapter, we’ll move away from data and back to behavior with the Decorator pattern, which lets us dynamically add new behaviors to existing objects without using traditional subclassing techniques.

Adding responsibilities and behaviors to classes that already exist can be a somewhat prickly decision, especially in object-oriented programming. Inheritance and subclassing are valid solutions when you’re attacking this problem, but they can get bloated and aren’t the most flexible. I say “not the most flexible” because customizing subclass hierarchies can be quite static; ...

Get Learning Design Patterns with Unity now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.