Sto riscrivendo un insieme di lettori di file che un mio ex collega ha creato per leggere i dati in punti grezzi delle coordinate XYZ (cartesiane) o delle coordinate RTZ (polari). Attualmente i dati sono memorizzati direttamente nel lettore, facendo in modo che tutto contenga sullo stato di tali oggetti. Mi piacerebbe separare il lettore dai dati raccolti che legge creando alcuni oggetti dati.
Ciascuno dei sistemi di coordinate è quasi identico da un punto di vista puramente basato sui dati.
Cartesian Coordinates
X (List of doubles)
Y (List of doubles)
Z (Multidimensional array of doubles at [X,Y])
Polar Coordinates
R (List of doubles)
T (List of doubles)
Z (Multidimensional array of doubles at [R,T])
Sto cercando di determinare se posso, in coscienza, definire un'interfaccia comune per entrambi. I dati sono gli stessi, anche se ciò che rappresenta è sottilmente differente. Ciascuno ha due assi opposti di un sistema di coordinate 3D, e una tabella di valori Z in varie combinazioni di quegli assi. Ma una coordinata X non si associa necessariamente a R. E non sono sicuro di ciò che chiamerei le proprietà su un'interfaccia comune: Axis1
, Axis2
e Z
?
O sto cercando di consolidare qualcosa qui che ha davvero bisogno di rimanere separato? Dovrebbe esserci un'interfaccia separata (anche se simile) per ciascun oggetto dati che rappresenta le coordinate di ciascun sistema?