Esprimere unità come urna

1

Ho un programma che elabora misure di diversi tipi, utilizzando unità diverse. Ad esempio, chilometri, miglia e metri. O sterline, chilogrammi e once. Ogni valore deve essere associato a un identificatore di unità.

Sto pensando di usare urna, invece di stringhe, per identificare l'unità. Ad esempio:

urn:mycompany.com:unit:distance:mile
urn:mycompany.com:unit:duration:second
urn:mycompany.com:unit:speed:knot

Ma che dire dei moltiplicatori?

urn:mycompany.com:unit:distance:meter
urn:mycompany.com:unit:distance:kilometer
urn:mycompany.com:unit:distance:centimeter

Non mi piace contrassegnare ciascuna di esse come un'urna separata, perché sono fondamentalmente la stessa unità, usando solo un fattore di moltiplicazione differente. E inoltre, significa che devo creare 13 diverse versioni di ciascuna unità in questo modo.

E per quanto riguarda le unità derivate, come mph?

urn:mycompany.com:unit:speed:mph
urn:mycompany.com:unit:speed:miles_per_hour
urn:mycompany.com:unit:speed:(unit:distance:mile/unit:duration:hour)

In qualche modo mi piace quest'ultimo, il migliore, ma è anche un'urna valida? E se no, come posso cambiarlo in modo che sia?

E questo è un semplice esempio. Prendiamo la definizione scientifica di Joule come kg * m ^ 2 / s ^ 2.

urn:mycompany.com:unit:energy:(unit:mass:kilogram*unit:distance:meter*unit:distance:meter/(unit:duration:second*unit:duration:second))
    
posta Pascal Rottier 17.02.2016 - 14:27
fonte

0 risposte

Leggi altre domande sui tag