Design Patterns

There are a lot of resources online if you want to brush up on design patters but I can’t recommend pluralsights on demand videos on design patterns enough.

They cover:

  • Adapter Pattern
  • Bridge Pattern
  • The Builder Pattern
  • Chain of Responsibility
  • The Command Pattern
  • Decorator Design Pattern
  • Event Aggregator
  • Facade Pattern
  • Factory Patterns
  • Flyweight
  • Iterator Pattern
  • Lazy Load Pattern
  • Mediator Pattern
  • Memento
  • Model View Presenter (MVP) Pattern
  • Model View ViewModel (MVVM) Pattern
  • Null Object Pattern
  • Observer Pattern
  • The Prototype Pattern
  • Proxy Pattern
  • Repository
  • Singleton
  • Service Locator Pattern
  • State Pattern
  • Strategy Pattern
  • Template Method
  • Unit of Work

I’ve personally gone over the mediator & singleton pattern videos available from Pluralsight and in 20-30mins you get a great explanation, you look at a simple application from visual studio in which a pattern could be used to make life easier for the programmer, you then implement the pattern and see the benifit of using it.

For example, the mediator pattern program was a program that was used for tracking flights. In the code each flight had to communicate to the other flight it’s position so that they all knew where they were so that they would not fly into each others air space.

The more planes you add to this program that more complex and larger each class of plane has to get so it can check up on each type of plane and it’s location.

The solution was to create a mediator class so planes did not have to check up on each other, the mediator will do that for them and only relay back data to each plane if it needed to warned about air space intrusions.

Sound familiar? Yup, the mediator class was called TrafficController. It’s a real world example and it makes total sense. 

Check out the other patterns I’ve mentioned, they are all explained this way with real world examples and code to back up the technical implementation of the pattern.

The code is based on the .NET framework and in C#.

Advertisements

Published by

Alan Feekery

Developer, Gamer, Musician, Cyclist and big Motorsport fan... enjoys the odd cup of coffee :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s