• Courses
  • TutorialsFree
  • Learning Paths
  • Blogs
  • Authors
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • Design Patterns in C#: State

    Learn everything there is to know about the State Design Pattern

    About This Course

    The State Design Pattern is a crucial design pattern in software engineering, used to allow an object to alter its behavior when its internal state changes, making it appear as if it�s changing its class. This pattern is essential for developers, as it enables an organized approach to handling state-driven behavior, promoting cleaner and more maintainable code. The State pattern is particularly useful in applications with complex state-dependent logic, such as game development, workflow engines, or UI components with different modes. In this course, Amichai Mantinband will guide you through everything you need to know to implement the State pattern effectively, empowering you to build adaptable, structured, and maintainable applications.

    Course Curriculum

    50m 4 sections
    Course overview
    00:31 Free preview
    Definition
    05:39
    Class Diagram
    03:55
    Strategy Pattern vs State Pattern
    04:22
    Game Character Example
    04:38
    Section Recap
    02:28
    Implementing the State Design Pattern
    06:09
    Implementing the Game Character Example
    15:07
    Section Recap
    01:05
    Benefits
    01:44
    Drawbacks
    03:44
    Conclusion
    00:23

    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