3. State
The State design pattern allows an object to alter its behavior when its internal state changes. By encapsulating state-specific behavior into separate classes, it promotes cleaner code, simplifies maintenance, and facilitates the addition of new states without modifying existing code.