Design Patterns in C#: Builder

Learn everything there is to know about the Builder Design Pattern

About This Course

The Builder Design Pattern is a key design pattern in software engineering, widely used to construct complex objects step-by-step. Mastering this pattern is essential for any developer, as it allows for the creation of objects with many configurations or optional parameters without having a cumbersome constructor. This pattern is especially valuable for producing complex objects in a controlled manner, making code more readable and flexible. In this course, Amichai Mantinband will guide you through everything you need to know to leverage the Builder pattern effectively, enabling you to build structured, maintainable, and adaptable applications.

Course Curriculum

49m 4 sections
Course overview
00:47 Free preview
Definition
04:33
Builder Pattern Types
00:58
Classic Builder Class Diagram
04:14
Definition vs Class Diagram
01:36
Implementing the Classic Builder Pattern
06:28
Classic Builder - Why So Complex?
01:22
Implementing the Classic Builder Without a Director
01:36
Implementing the Nested Builder Pattern
02:35
Implementing the Fluent Builder Pattern
02:03
Implementing the Inner Builder Pattern
05:41
Implementing the Step Builder Pattern
06:54
Section Recap
03:30
Benefits
03:50
Drawbacks
02:18
Conclusion
00:24

Meet Your Instructor

Amichai Mantinband

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.

View all courses by Amichai Mantinband

What's New

What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn More
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn More
Working with Large Language Models
tutorial

Working with Large Language Models

Learn how to work with Large Language Models (LLMs). Understand the fundamentals of how GPT works, the transformer architecture, and master prompt engineering techniques to build AI agents.

Learn More
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn More
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More