Our Black Friday discount is now LIVE! Use code BLACKFRIDAY24 to get 40% off any Course, Bundle or your first year of Dometrain Pro!

Design Patterns in C#: Visitor

Learn everything there is to know about the Visitor Design Pattern

The Visitor Design Pattern is an advanced design pattern in software engineering, commonly used to separate algorithms from the objects they operate on, enabling new operations to be added without modifying the object structure. This pattern is essential for developers, as it promotes flexibility and extendibility in complex systems with structured data elements. The Visitor pattern is particularly useful in applications dealing with composite objects, such as abstract syntax trees, data analysis frameworks, or file systems. In this course, Amichai Mantinband will guide you through everything you need to understand and implement the Visitor pattern, empowering you to build extensible, maintainable, and adaptable applications.

Curriculum

Course overview (00:42)

Definition with Doctor Example (07:36)

Definition with Zoo Example (04:15)

Class Diagram (06:19)

Document Formatter Example (05:24)

Section Recap (02:35)

Implementing the Visitor Design Pattern (13:20)

Implementing the Document Editor Example (09:08)

Double Dispatch (02:11)

Section Recap (02:17)

Benefits (03:07)

Drawbacks (05:22)

Conclusion (00:42)

Course Info

Level:
Design Patterns
Duration:
1h 3m
Rating (New):
star

Part of the bundle

Behavioral Design Patterns in C# Bundle thumbnail Get it for 20% off

Starting at

$59.99

per month

Subscribe to Pro

About the Author

author_img

Amichai Mantinband

Amichai Mantinband is a Software Engineer at Microsoft and a .NET content creator.
He works on large-scale, distributed systems within Microsoft Office, serving over 100 million daily users. He is a speaker at official .NET conferences, and within Microsoft, he authors and teaches software architecture courses.
Amichai is the author of NuGet packages ErrorOr & Throw and has a .NET programming YouTube channel covering advanced topics such as design patterns, architecture, and best practices.

More courses by Amichai Mantinband