Object Oriented Programming Patterns for Geeks

By a geek...

[This is an ongoing piece of work that I am adding to as time is available]

Last updated 30th March 2007

The feedback I am getting about this patterns area is generally very positive, although some people would like real-worlds examples – in my view a valid point.
  In an attempt to satisfy all of you a little more I will try to include more ‘real-world’ representative examples from now on.
      - Thank's to everyone, keep the input coming!

You may or may not know from elsewhere on this site or from working with me that I hold programming pattern skills in high regard.  OOP patterns are an essential part of programming and if you are here it is most likely because you:

  1. know these already but are here to revise (good for you!)
  2. are curious but unsure what these patterns are (also good for you!) 
  3. you came here by mistake and will now move on because you don't see the benefit of these patterns - if so, then don't!
  4. or most likely because I have directed you here because we work at the same company or because you are curious and we have just been chatting in ##csharp or some other IRC place.

'Why?'  You may ask.  Why am I doing this?

Well.  Simple really!  Only about a quarter (and that is a little generous!) of all developers, busines analysts and even architects I meet in my every day line of work wouldn't know a Singleton from a Megaton or an Abstract Factory from an ashtray factory. 

I hope this helps in some small way to explain why patterns are important and how and when to use them.

Basic Creation patterns

    1. Web Application Singleton
  1. Factories
  2. Other

Basic Structure patterns

  1. Pool
  2. Proxy

Basic Behavior patterns

  1. State
  2. Stategy
  3. Template Method
  4. Visitor