Pregunta

Tengo una estructura llamada WaveSize para representar una cantidad de muestras o una cantidad de tiempo, pero también estoy usando esta estructura para representar una posición o un desplazamiento dentro de una onda.

Si bien es bastante común representar tamaños y posiciones dentro de un sistema de coordenadas con un tipo Vector2d, no puedo encontrar un buen nombre lo suficientemente abstracto como para representar longitudes de onda y posiciones/compensaciones de onda.

Me parece extraño ver algo como:

public WaveSize Size { get; }
public WaveSize Offset { get; }

Prefiero pensar en un buen nombre que crear clases vacías o usar "usar".

Cualquier sugerencia será muy apreciada.Gracias de antemano.

EDITAR:Como sugirieron Reed Copsey y Marc Gravel, tiene mucho sentido tener dos clases diferentes, ya que son dos conceptos diferentes, por lo que cualquier similitud en el código debe verse como meras coincidencias.

¿Fue útil?

Solución

Me gustaría tener dos estructuras separadas, y a hacer conversiones entre ellos.

Usted está tratando de representar a dos conceptos: una para la posición, y uno para el tamaño. Dado que estos son dos ideas conceptualmente distintas, que los haría dos estructuras.

También estoy de acuerdo con la respuesta de Marc Gravell Con respecto al punto / Tamaño estructuras del BCL. Creo que son un buen modelo a seguir.

Otros consejos

Podrías comparar con los winforms. Point y Size estructuras...Decidieron que incluso si son similares, mantenerlos separados.Tiene sentido en el sentido algebraico:

Point - Point = Size
Point + Size = Point
Size + Size = Size
Point + Piont = ???? error (no defined operator)

etc.

vector de onda?

Podría tener una estructura llamada simplemente Wave y luego el tamaño y el desplazamiento encajaría perfectamente en el nombre más general? Espero que no tienen una estructura de onda ya:)

No es el nombre habitual para el desplazamiento de fase 'compensar'?

probablemente me voy con WaveProperties, de verdad.

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