Structural Patterns : Used to form large object structures between many disparate objects.
Creational Patterns : Used to construct objects such that they can be decoupled from their implementing system.
Behavioral patterns : Used to manage algorithms, relationships, and responsibilities between objects.