Creational patterns These patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.

Structural patterns These patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.