![Observer1](https://private-user-images.githubusercontent.com/127567902/292601733-ea272cfe-eef8-41b0-a780-cfd7fceefcc8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDczMTgzNDgsIm5iZiI6MTcwNzMxODA0OCwicGF0aCI6Ii8xMjc1Njc5MDIvMjkyNjAxNzMzLWVhMjcyY2ZlLWVlZjgtNDFiMC1hNzgwLWNmZDdmY2VlZmNjOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDIwN1QxNTAwNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MjE1NjVmZTRiYThkNzFmZTQ2ZDRjNWEwNjEzOWNkODRhNDI4ODBhNzQzNGRlYjRlMjA5MDgxOTFlNDI1ZmVhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.NgprFQBA3HXdDR_ryz2jcCARji0Qsa9b3sbA4FTtr2s)
En la clase orderDetails.java, es necesario notificar a diferentes partes de la aplicación sobre cambios en el estado del pedido. Por ejemplo, podría ser beneficioso informar a la interfaz de usuario sobre actualizaciones en el estado del pedido para mantenerla sincronizada con la lógica interna.
![Iterator1](https://private-user-images.githubusercontent.com/127567902/292601731-26c63606-b2eb-4928-9b18-fdac1a8afcf1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDczMTgzNDgsIm5iZiI6MTcwNzMxODA0OCwicGF0aCI6Ii8xMjc1Njc5MDIvMjkyNjAxNzMxLTI2YzYzNjA2LWIyZWItNDkyOC05YjE4LWZkYWMxYThhZmNmMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDIwN1QxNTAwNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYWI3ODZhOWJiZWQ0ZjhhYmU0M2IyYjQzNGY4Nzk2MDY4MDRjNDc0Njg0YWI0YmEzYjQ1OWIzZWZiZTliMGZhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1nD8wu1R2I-OMGo9NVbs0X-6Yg1iqVfu4vkXv3kYaPM)
La clase orderDetails.java gestiona una lista de elementos del pedido, y puede ser útil proporcionar una forma consistente de iterar sobre estos elementos sin exponer directamente la estructura interna de la lista.
![Strategy1](https://private-user-images.githubusercontent.com/127567902/292601734-2941601c-a6aa-4bce-9057-7ca893fc7d7d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDczMTgzNDgsIm5iZiI6MTcwNzMxODA0OCwicGF0aCI6Ii8xMjc1Njc5MDIvMjkyNjAxNzM0LTI5NDE2MDFjLWE2YWEtNGJjZS05MDU3LTdjYTg5M2ZjN2Q3ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDIwN1QxNTAwNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ODNhY2MyNGZkNGVmN2Q5MWNjNTA5MTJkYWJiNmNkNjBkN2IwYjc2NTU1NzJhYWJiYTlkZjEwMGJkMjc0Mzg5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.uyTTHsR1wwkfgs-DZB0Nyp6-AgWsTtNdD0Qap3w-tPE)
En la clase orderDetails.java, existen diferentes estrategias de precio para cada tipo de artículo en el pedido. En lugar de tener métodos específicos para cada tipo, podría ser beneficioso aplicar el patrón Strategy para gestionar de manera más flexible estas estrategias.