Patterns are higher-order designs, which occur repeatedly in object-oriented design. They have been formalized, and are generally considered a good development practice.