It’s all too easy to place operations code inside class definitions (that is, code that does create/delete/modify). In many cases, such an approach is not necessarily a reflection of real world objects. But there are other reasons for abstracting operation code. Stephen Morris spells out these and other advantages of using the command pattern.