Visitor
The Visitor pattern is a behavioral design pattern that allows adding new behaviors to existing classes without altering their structure. It is useful when you have to perform operations on a group of similar objects.
The Visitor pattern is particularly useful when you need to perform operations on a group of objects that have different classes. It allows you to define a new operation without changing the classes of the objects on which it operates.