Visitor Pattern

A small picture of Visitor Pattern

A behavioral pattern that lets you separate algorithms from the object structure on which it operates, allowing you to add new operations without modifying the existing code.

$15.70

Explore more products

A small picture of Abstract Factory Pattern
Abstract Factory Pattern

A creational design pattern that provides an interface for creating families of related or dependent objects without specifying their concrete classes.

A small picture of Adapter Pattern
Adapter Pattern

A structural design pattern that allows incompatible interfaces to work together. It acts as a bridge between two incompatible interfaces.

A small picture of Bridge Pattern
Bridge Pattern

A structural pattern that separates an object’s abstraction from its implementation, allowing both to evolve independently.

A small picture of Builder Pattern
Builder Pattern

A creational pattern that allows constructing complex objects step by step. It separates the construction of a complex object from its representation.

A small picture of Chain of Responsibility Pattern
Chain of Responsibility Pattern

A behavioral pattern that passes a request along a chain of handlers. Each handler decides either to process the request or pass it to the next handler in the chain.

A small picture of Command Pattern
Command Pattern

A behavioral design pattern that converts a request into a stand-alone object that contains all information about the request.

A small picture of Composite Pattern
Composite Pattern

A structural pattern that allows you to compose objects into tree structures to represent part-whole hierarchies. Clients can treat individual objects and compositions uniformly.

A small picture of Decorator Pattern
Decorator Pattern

A structural pattern that allows behavior to be added to individual objects, either statically or dynamically, without affecting the behavior of other objects from the same class.

A small picture of Facade Pattern
Facade Pattern

A structural pattern that provides a simplified interface to a complex subsystem, making it easier to use.

A small picture of Factory Method Pattern
Factory Method Pattern

A creational pattern that provides an interface for creating objects in a superclass but allows subclasses to alter the type of objects that will be created.

A small picture of Flyweight Pattern
Flyweight Pattern

A structural pattern that uses sharing to support large numbers of fine-grained objects efficiently.

A small picture of Interpreter Pattern
Interpreter Pattern

A behavioral pattern that defines a representation for a grammar and provides an interpreter to deal with the grammar.

A small picture of Iterator Pattern
Iterator Pattern

A behavioral pattern that provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

A small picture of Mediator Pattern
Mediator Pattern

A behavioral pattern that defines an object that encapsulates how a set of objects interact, promoting loose coupling.

A small picture of Memento Pattern
Memento Pattern

A behavioral pattern that allows capturing and externalizing an object’s internal state without violating encapsulation so that the object can be restored to this state later.

A small picture of Null Object Pattern
Null Object Pattern

A behavioral pattern that uses a special null object instead of using null references to avoid null checks in the code.

A small picture of Observer Pattern
Observer Pattern

A behavioral pattern where an object, known as the subject, maintains a list of its observers and notifies them of any state changes.

A small picture of Prototype Pattern
Prototype Pattern

A creational pattern that enables cloning of existing objects without making the code dependent on their classes.

A small picture of Proxy Pattern
Proxy Pattern

A structural pattern that provides an object representing another object. A proxy can control access to the subject, allowing for additional functionalities.

A small picture of Singleton Pattern
Singleton Pattern

A creational design pattern that ensures a class has only one instance and provides a global point of access to it.

A small picture of Specification Pattern
Specification Pattern

A behavioral pattern that enables the separation of business rules from the entities that use them, allowing for intelligent queries.

A small picture of State Pattern
State Pattern

A behavioral pattern that allows an object to alter its behavior when its internal state changes.

A small picture of Strategy Pattern
Strategy Pattern

A behavioral pattern that defines a family of algorithms, encapsulates each one, and makes them interchangeable, allowing the algorithm to vary independently from the clients that use it.

A small picture of Template Method Pattern
Template Method Pattern

A behavioral pattern that defines the skeleton of an algorithm in an operation, deferring some steps to subclasses.