Whenever an activity occurs in repetition, such as programming, patterns emerge and can be documented. The benefits of documenting and using software design patterns are well established, as are some ...