Se trata de un "patrón de comportamiento" (existen de tres tipos: creación, estructurales y de comportamiento), por lo que está relacionado con algoritmos de funcionamiento y asignación de "responsabilidades" a clases y objetos.