aboueleyes / aboueleyes/the-conqueror

Sugerencia para patron de diseño composite

Đang mở
#114 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
18
Fork
3
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

En la implementación actual del Controller, particularmente en métodos como setViewButtonAction, el controlador se ve obligado a tratar de forma completamente asimétrica a los ejércitos (Army) y a las unidades individuales (Unit).

Para renderizar las tarjetas visuales en la interfaz, el controlador debe extraer manualmente la lista interna de tropas usando un bucle explícito. Esto rompe el principio de encapsulamiento, ya que el Controller debe conocer detalladamente cómo organiza Army sus colecciones internas. Además, se duplica lógica al tener que validar si lo seleccionado es una tropa solitaria o un grupo antes de realizar una acción uniforme en el mapa (como mover u ocupar).

Solución Propuesta (Patrón Composite):
Implementar el patrón de diseño Composite para que el cliente (Controller) trate los objetos simples y compuestos con total uniformidad.

Introducir una abstracción unificada llamada MilitaryComponent.

Hacer que tanto la clase hoja (Unit) como la clase contenedora compuesta (Army) implementen esta abstracción.

Refactorizar el Controller para que interactúe exclusivamente con MilitaryComponent.

Image

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.