Registrar lista de pedidos en una aplicación de un Restaurante
Haces parte de un proyecto para la creación de una aplicación para un restaurante. Debes desarrollar la funcionalidad “registrar la lista de pedidos de un cliente”. Esta lista se debe registrar al presionar un botón en pantalla.
Una posible solución se vería de la siguiente forma:

En esta situación ¿quién debe ser el responsable de crear los pedidos?. Al aplicar el patrón la responsabilidad es de la clase Cliente porque agrega los pedidos.

Sin embargo, esta solución no es correcta porque se está violando el patrón alta cohesión al asignar a la clase Cliente la responsabilidad “agregarPedido()”. Además, se está generando un alto acoplamiento entre la clase Cliente y la clase Pedido, dificultando su reutilización.
La solución correcta nos lleva a definir la clase RegistrarPedido, que agrega tanto al cliente como al pedido que se va a registrar, por lo tanto también tiene la responsabilidad de crear las respectivas instancias, como se observa en la Ilustración 3.
