Estoy desarrollando un juego de disparos espaciales con naves personalizables. Puede aumentar la fuerza de cualquier cantidad de propiedades del barco a través de un par de gráficos de radar *. Internamente, represento cada barco como una clase subclassed SpaceObject
, que tiene un ShipInfo
que describe varias propiedades de ese barco.¿Buena arquitectura de código para este problema?
Quiero desarrollar una API relativamente simple que me permita alimentar en un bloque de puntos fuertes relativos (del mínimo al máximo de lo que permite el gráfico de radar) para todas las propiedades del barco (algunas de las cuales son simplificaciones del conjunto de propiedades) y recuperar una clase ShipInfo que puedo dar a una clase PlayerShip
(que es el objeto instanciado para ser una nave de jugador).
Puedo desarrollar el código para realizar las transformaciones entre las propiedades simplificadas y reales, pero me gustaría algunas recomendaciones sobre qué tipo de arquitectura proporcionar para minimizar el dolor de interactuar con este código de traductor (es decir, no hay métodos con 5 + argumentos o alguna otra tontería). ¿Alguien tiene alguna idea?
* = no implementado realmente todavía, pero ese es el plan.
Creo que necesito volver a leer el libro de patrones de diseño y estudiarlo en vez de hojearlo. ¡Extrañé totalmente esta solución al leer la pregunta y pensar en cómo la resolvería, y me encanta la elegancia! Incluso utilizo JQuery de forma regular y no establecí la conexión, y TODO en JQuery usa el patrón de Builder ... – Ricket