Existe multitud de casos (sistemas de monitorización, interacción con interfaces gráficos de usuario, etc.) donde un objeto cliente necesita conocer los cambios que se han producido en otro objeto.
Una posible solución es que el cliente interrogue, cada cierto tiempo, si se ha producido algún cambio en su objeto de interés. Pero esta solución es altamente ineficiente.
Una solución mejor es que el objeto de interés envíe una notificación al objeto observador sólo en el caso en que se produzca un cambio en el primero.