Behavioral
Behavioral design patterns are design patterns that identify common communication patterns between objects and realize these patterns. By doing so, these patterns increase flexibility in carrying out this communication.
Behavioral patterns are concerned with the assignment of responsibilities between objects and how they communicate. The interactions between the objects should be such that they are talking to each other and still are loosely coupled. The loose coupling is the key to making the system more maintainable and scalable.