Creational Pattern – Singleton : Ensure a class has only one instance and provide a global point of access to it.
Structural Pattern – Proxy : Provide a surrogate for another object to access to it.
Behaviour Pattern – Iterator : Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.