Pregunta

Estoy tratando de reestructurar algún código GUI específico en un proyecto Java, llamemos al Proyecto A, eliminando las dependencias del proyecto y moviendo el código a una API existente. Tengo otro proyecto que requiere básicamente las mismas características/interfaz, y me gustaría reutilizar estas capacidades en ese otro proyecto.

He leído sobre el patrón de diseño de la fachada en el libro de patrones de diseño del GoF, y pensé que puede ser aplicable aquí.

Antes de leer sobre el patrón de fachada, intenté escribir una interfaz llamada iMessagePasser, que simplemente reemplaza cualquier código específico del proyecto con métodos de interfaz, como un contrato que debe ser implementado por cada cliente, por ejemplo, con ProjectAmessagePasser. Esto parece lidiar con la mitad de la fachada, lo que permite que el código GUI se traslade a la API.

Supongo que el siguiente paso es hacer lo mismo con el Proyecto A, reemplazar las dependencias de la GUI agregando más métodos dentro del ProyectoMessagePasser, para descubrir básicamente las comunicaciones necesarias entre el ProjectBMessagePasser y el código GUI.

No tengo mucha experiencia con la reestructuración de código a gran escala, pero ¿todo esto parece razonable? Es difícil saberlo sin hacer todos los cambios primero, y no quiero perder mucho tiempo haciéndolo de una manera si hay una mejor manera de hacerlo.

¿Fue útil?

Solución

Para que sea más manejable, es posible que desee crear servicios para áreas funcionales de la aplicación y enfocar su refactorización allí. A medida que avanza, escriba pruebas unitarias para validar la funcionalidad. Una vez que tenga la funcionalidad en los servicios, puede crear una fachada en torno a esos servicios.

En otras palabras, podría ser más fácil dividir y conquistar, en lugar de refactorizar toda la aplicación a la vez.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top