Linee guida nella scrittura di codice #07: Proprietà o Metodo?

Martedì 6 Novembre 2007 - 09:06

di Gianni Malanga

Microsoft Dev

Per scegliere quando è opportuno utilizzare una proprietà al posto di un metodo o viceversa si deve considerare che i metodi rappresentano delle azioni mentre le proprietà rappresentano dei valori o degli attributi. Le proprietà non dovrebbero quindi essere complesse nella loro implementazione e non dovrebbero modificare dei dati ma solo restituire valori.

L’utilizzo classico di una proprietà è quello di permettere la modifica del valore di un campo privato e la verifica preventiva del valore assegnato:

private string _name = "";
public string Name
{
   get { return _name; }
   set
   {
      if( value != null && value.Length <= 100)
      {
         _name = value;
      }
      else
      {
         throw new ApplicationException("Max length for Name is 100 characters");
      }
   }
}

È opportuno utilizzare un metodo al posto di una proprietà se si verifica uno dei seguenti casi:

  • Quando il dato da fornire implica l’accesso a canali di comunicazione lenti quali la rete o il file system
  • Quando il valore è il risultato di una conversione di altri valori (ad esempio come nel caso del metodo ToString() della classe Object
  • Quando il valore restituito è diverso ad ogni chiamata (ad esempio come nel caso del metodo NewGuid della classe Guid)
  • Quando la modifica del valore ha effetti significativi su altri dati dell’applicazione
  • Quando l’operazione restituisce una copia di un oggetto interno invece dell’oggetto stesso
  • Quando il valore è una matrice

Tags:

Categoria: Microsoft Dev | Permalink

Non ci sono ancora commenti a questo post

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento