2009-05-12 11 views
2

J'ai une structure nommée WaveSize pour représenter à la fois une quantité d'échantillons ou une quantité de temps, mais j'utilise également cette structure pour représenter une position ou un décalage dans une onde. Bien qu'il soit courant de représenter à la fois les tailles et les positions dans un système de coordonnées de type Vector2d, je ne trouve pas un nom assez abstrait pour représenter les longueurs d'onde et les positions/décalages d'onde.Comment nommer une structure qui représente à la fois une taille et une position?

je trouve étrange de voir quelque chose comme:

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

Je préfère venir avec un bon nom que la création de classes vides ou en utilisant « utilisant ».

Toutes les suggestions seront grandement appréciées. Merci d'avance. EDIT: comme Reed Copsey & EDGE: Comme Reed Copsey & Marc Gravel a suggéré qu'il est très logique d'avoir deux classes différentes, car ils sont deux concepts différents, donc, toutes les similitudes dans le code doivent être vues comme de simples coïncidences.

+0

"avoir deux classes différentes" - en fait, cela peut être l'une des rares occasions où struct est le bon choix. –

+0

Ce sont des structs en fait, mais merci de le signaler :) – Trap

Répondre

3

j'aurais deux struct séparés, et faire des conversions faciles entre eux.

Vous essayez de représenter deux concepts ici, un pour la position et un pour la taille. Puisque ce sont deux idées conceptuellement distinctes, je les ferais deux structures.

Je suis également d'accord avec Marc Gravell's answer concernant les structures point/taille du BCL. Je pense que c'est un bon modèle à suivre.

+0

Je suis d'accord avec vous en ce que ce sont deux concepts différents et doivent être traités en conséquence. – Trap

0

Pourriez-vous avoir une structure appelée simplement Wave, puis la taille et le décalage s'adapteraient parfaitement au nom plus général? J'espère que vous n'avez pas déjà une structure Wave :)

1

WaveVector?

+0

En termes de physique, un vecteur de force indique le magnat (taille) et la direction (position) de la force. –

0

Le «décalage» n'est-il pas le nom habituel du déphasage?

J'irais probablement avec WaveProperties, vraiment.

3

Vous pourriez comparer aux winforms Point et Size structures ... ils ont décidé que même s'ils sont similaires, pour les garder séparés. Il est logique au sens algébrique:

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

etc

+0

Je suis vraiment tenté de le faire, mais avoir à dupliquer chaque méthode fait un peu mal ... – Trap

Questions connexes