Design Patterns Explained with Food In C# – iProgrammer

Design Patterns Explained with Food In C#
Written by Nikos Vaggalis   

This modern approach to the legendary GOF Design Patterns book from Wes Doyle is a set of YouTube videos using the C# language with a novel, culinary, twist.

The Gang of Four Design patterns book first published in 1994 might be still relevant as far as the core concepts are concerned, but the examples and languages used in the book, Smaltalk/C++ and GUI applications are nevertheless somewhat dated. 

Of course, at the time web development hadn’t really kicked off, as such the examples reflected the applications of the industry of the time.Things have changed radically since then and while the core concepts like programming over a interface or favoring composition over inheritance still resonate,the bigger pictures needed to get up to date with the current requirements.For example to incorporate external dependencies like Databases and AMQP queues,or services for things like email and HTTP APIs.

Thus the emergence of the “Design Patterns Explained with Food” course,a massive undertaking by developer Wes Doyle who not only released a Github repo congaing the code and examples but also recorded a fully blown video series which generously made available on YouTube for free and for everyone to enjoy.

In this video Doyle explains why he embarked on this project:

As in the book, Doyle breaks up design patterns into three main

  • Creational patterns which are concerned with the ways that we create new objects to work with
  • Structural patterns which are concerned with the ways that we compose objects together to create the types of structures that might be easy to change and solve problems over time
  • Behavioral patterns which are concerned with the ways that the objects that we create collaborate

And where does the food fit into the picture? They’re real world examples that concern the food business. Like making a custom meal planner, a bakery purchase order system, a food delivery service and so on. And, of course, you can’t go more modern than a programming language like C#.

Note that the Youtube play list is still work in progress, as such the videos available at the time of writing are about the Factory Method, Builder, Singleton and Abstract Factory patterns.
On the GitHub repo, however, you’ll find all the code examples. There are three directories BehavioralPatterns, CreationalPatterns and StructuralPatterns which host the code for the patterns, and a directory ExamplePrograms with the actual programs which draw their dependencies from the patterns directories. There’s one more folder, RealisticDependencies, which mocks several services such an Email one, a Queue and a Database.

To sum it up, it’s the best of both worlds; great and timeless concepts but under a modern perspective. 

More Information

Design Patterns Explained with Food on GitHub

YouTube playlist

Related Articles

 YouTube Courses On C++, Python and Blazor


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, Facebook or Linkedin.

Rust 1.5 Improves Array Indexing


The Rust team has announced a new release that offers improved array indexing, expanded safe access to union fields, and additions to the standard library.

+ Full Story

Using AI To Restore Popeye Cartoons


Using artificial intelligence to restore or enhance film stock is a topic we’ve covered before. Now we have news of AI tools being used to breathe fresh life into classic cartoons, including those fea [ … ]

+ Full Story

More News


or email your comment to: