In our pizza sessions we are currently looking at a variety of design patterns. I am a big fan of using design patterns because they provide best practices for a lot of software development issues. One of the simplest but very powerful design patterns is the command pattern. Basically the only thing the pattern dictates is that there is a command interface (or base class) that states that objects implementing the interface should have an execute method. The great thing about this pattern is that now the object that needs something to be done doesn’t have to know anything about the object performing the action. All it needs to know is that there is going to be an execute method.