Este patrón permite pasar solicitudes a través de una cadena de manejadores hasta que uno de ellos la maneja, evitando que un solo objeto se apodere de la solicitud. Se usa cuando varios objetos pueden manejar una solicitud y el manejador no se conoce de antemano. El cliente genera solicitudes que pasan a través de la cadena de manejadores específicos hasta que uno la procesa. Esto reduce el acoplamiento y añade flexibilidad para asignar responsabilidades dinámicamente.