The notion of patterns has been used in many different disciplines, and the software industry is no exception. There are many books written, academic research done and practical examples available of where patterns have assisted in constructing better software solutions. Patterns have been defined in the areas of software design, architectural design, processes, and there are even cognitive pat...