Chain
Chain of responsibility pattern allows an object to send a command without knowing what object will receive and handle it.
Chain of responsibility pattern allows an object to send a command without knowing what object will receive and handle it.
Decorator allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class.
Fluent interface allows you do have method chaining.
Inversion of Control is a principle in software engineering by which the control of objects or portions of a program is transferred to a container or framework.
Iterator design pattern allows to traverse a container and access the container's elements.
Instead of returning null , use an object which implements the expected interface, but whose method body is empty.
Observer pattern is a behavioral design pattern that defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Strategy pattern allows a client to choose from a family of algorithms at runtime.
Visitor pattern is a way of separating an algorithm from an object structure on which it operates.