I was always a little too lazy to really learn all those software design patterns, and it’s probably time to fill the gaps. However, there would be no fun in re-writing the definitions of the design patterns again and again.. I figured a little challenge might help.
How about trying to find software design patterns in the non-software world? Would it be possible?
There is a list of 23 GoF patterns here: http://www.dofactory.com/net/design-patterns
This time, let’s have a look at the singleton
How about this: imagine a small business with just a single employee(who is a business owner, too). That poor chap can be a cleaner, a CEO, a recruitment manager.. it depends on what he is supposed to look like at any particular moment. Still, no matter how we call him, it’s the same employee/person. That’s what a singleton is: you have something that may look as if there were many, but, in reality, it’s always the same.
PS. I’m not suggesting that you should be calling your neighbor a singleton if he/she happened to be that kind of small business owner. After all, they might not have read this blog yet..