The reusable solutions and formalised best practices to solve common user interface tasks in software development and design.