In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn’t...