11

Adding Features with the Visitor Pattern

In the last chapter, we tackled the mountain that is the State design pattern, finite state machines, and a little automata theory to boot. In this chapter, we’ll work with the Visitor pattern, which lets you effectively tack on sets of related operations (or behaviors) to existing objects without changing the underlying object(s) in any way – look but don’t touch!

Essentially, new sets of behaviors become the visitors, and the objects you want to modify become the visitable elements; each visitor is applied to a list of visitable elements, new operations are executed, and the original code remains unharmed. The important bit is that each element gets its own custom implementation of the new behavior ...

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.