C# Design Patterns

In this course, I will teach you the 23 fundamental software design patterns from the famous book Design Patterns: Elements of Reusable Object-Oriented Software by the Gang of Four. It is regarded as the standard reference manual for object-oriented design theory and practice.

You will learn 11 Behavioral, 5 Creational and 7 Structural Design Patterns, including the Visitor Pattern, the State Machine, the Composite pattern, the Prototype… and much more!

By the end of this course, you will be fluent in all 23 design patterns, and with this knowledge, you will be well on your way to becoming a Senior Application Architect.

 

 

Here’s What You’ll Get

Training Lectures
Video Lessons
Quizzes
Private Slack Channel
Self-Paced Study
Homework Assignments
Certificate of Completion
Valuable New Skills
Lifetime Access

Training Details

In this course, you will learn all 23  fundamental software design patterns from the famous book titled “Design Patterns: Elements of Reusable Object-Oriented Software” by the “Gang of four”. This is the standard reference manual for object-oriented design theory and practice.

With these patterns, you can create new objects efficiently and structure how different parts of your application architecture interact with each other.

You will learn how to build a State Machine, how to use the Iterator pattern to enumerate collections, I’ll explain what the Visitor Pattern does in simple terms, how to invoke operations with the Command Pattern, how to perform multi-step object construction with the builder pattern, how to reduce memory with a Flyweight, and much more!

     

    Name: C# Design Patterns.

    Format: self-paced.

    Content: training lectures, video lessons, and quizzes.

    Requirements: a Windows, Mac or Linux laptop with Microsoft Visual Studio or Visual Studio Code.

    Support: Slack channel.

    Associated certification: none.

     

    Sneak Preview

    In this complimentary lecture, I will teach you how the Flyweight Design Pattern works. This pattern will let you share object instances across a very large data structure. It’s a good choice when you need to support a very large numbers of fine-grained objects whose state information can be retrieved on demand. I’ll use some examples to help you understand.

    Training Curriculum

    Introduction

    Course prerequisites

    The Gang of Four and The 23 Design Patterns

    Creational Design Patterns

    Introduction

    Abstract Factory Pattern

    Builder Pattern

    Factory Method Pattern

    Prototype Pattern

    Singleton Pattern

    Recap

    Quiz

    Behavioral Design Patterns

    Introduction

    Chain of Responsibility Pattern  

    Command Pattern

    Interpreter Pattern

    Iterator Pattern

    Mediator Pattern

    Memento Pattern

    Observer Pattern

    State Pattern

    Strategy Pattern 

    Template Method Pattern

    Visitor Pattern

    Recap

    Quiz

    Structural Design Patterns

    Introduction

    Adapter Pattern

    Bridge Pattern

    Composite Pattern

    Decorator Pattern

    Facade Pattern

    Flyweight Pattern

    Proxy Pattern

    Recap

    Quiz

    In Conclusion

    What you´ve learned

    Bonus lecture

    Sign Up For This Training

    This is a self-paced training where you can learn at your own pace and in your own time. All lectures are prerecorded and you can spend as much time as you like on the homework assignments. You’ll be fully supported in our private Slack channel.
    The listed price is ex EU VAT. Non-Dutch EU businesses can waive the VAT by providing their tax number during checkout.

    Looking For Something Else?

    CHECK OUT MY OTHER C# TRAINING COURSES

    Is this training course not exactly what you’re looking for? No problem, I have many other C# courses in my catalog. Take a look at these alternatives.

    “Highly relevant for my job. Mark uses clear and simple examples that reveal the concepts quite nicely.”

    Frank Hauge – online student

    Frequently Asked Questions

    • This Training
    • Self-Paced Training
    • Guided Training
    • Classroom Training
    What is included in this training?
    You will receive lifetime access to training lectures, video lessons, quizzes and homework assignments.
    How long will it take me to complete this training?
    For a self-paced and guided training, you can spend as much or as little time you want on the lectures and labs. It’s entirely up to you how long you take to complete the training. For a classroom training, we will complete all of the training content and labs together in 3 days.
    How long do I have access to the training content?
    You have lifetime access to all training content.
    What do I need for this training?
    You’ll need a Windows laptop (or other operating system running a Windows virtual machine) with a recent version of the NET Core Framework and the Visual Studio Code editor installed. You will also need Microsoft Teams if you’re attending the live classroom training. 
    For which certification does this training prepare me?
    This training is not part of an official Microsoft certification path, but you can use it to prepare for the Azure Data Scientist or Azure AI Engineer certifications if you like. 
    What is a self-paced training?
    In a self-paced training, you study the training lectures and work on the lab assignments in your own time and at your own pace. You can spend as many or as little hours per week as you want on the training. This training format is ideal for tech professionals who have irregular work hours and cannot commit to a classroom training. 
    How am I supported in a self-paced training?
    I will support you in a private Slack channel. You can ask me anything you want anytime you like, and I will respond as soon as I’m able to. I typically respond in 2-3 hours but it can take a little longer if we are in different timezones. 
    Who should attend a self-paced training?
    A self-paced training is ideal for tech professionals who can work independently and only need a little support throughout the training to learn the content and complete the lab exercises.
    My colleagues and I want to sign up as a team and learn together. Is this possible?
    No, self-paced training is only for individual students who each learn at their own pace. Please consider a classroom training instead.
    What is a guided training?
    In a guided training, you study the training lectures and work on the lab assignments in your own time and at your own pace. We will also spend some time together in a series of Microsoft Teams calls in which I will support you with the training lectures and the lab exercises and help you get ready for the certification exam.
    How am I supported in a guided training?
    I will support you in a private Slack channel, and you can also book an unlimited number of 1-hour Microsoft Teams support calls with me. In these calls, I will support you with the training lectures and the lab exercises and help you get ready for the certification exam. 
    Who should attend a guided training?
    A guided training is ideal for tech professionals who prefer a healthy mix of guidance and independence with an average level of support throughout the training to learn the content and complete the lab exercises.
    My colleagues and I want to sign up as a team and learn together. Is this possible?
    No, guided training is only for individual students who each learn at their own pace. Please consider a classroom training instead.
    What is a classroom training?
    A classroom training is a live event in which I will present the training lectures, help you complete the lab exercises and get you ready for the certification exam. Classroom trainings are conducted online in full-day Microsoft Teams calls held during business hours in the Central European timezone. You will be sharing the classroom with other students and learn together as a group. 
    When and where is classroom training conducted?
    Classroom trainings are conducted online during Central European business hours. You will receive a Microsoft Teams link when you sign up for a class. Please note that classroom trainings can also be held on-site at your place of work. Please book a discovery call with me if you’re interested, and we can discuss your requirements.
    How am I supported in a classroom training?
    I will continuously support you live, because we’ll both be in the same virtual classroom together. 
    Who should attend a classroom training?
    A classroom training is ideal for tech professionals who can commit to full days of learning and want to learn together as a group. 
    My colleagues and I want to sign up as a team and learn together. Is this possible?
    Yes, absolutely. Please book a discovery call with me to discuss your requirements. I can offer group discounts to business teams.