Best practices

mercoledì 15 luglio 2009 - 09.19

brazero Profilo | Junior Member

Ciao a tutti,

in base ad una logica di programmazione orientata agli oggetti..
in un'ottica ottimale a progetti complessi..

1) per i metodi di una classe, è meglio usare i parametri alle funzioni o usare le proprietà della classe stessa?

2) in classi diverse è "giusto" avere delle propietà uguali?

Grazie!

freeteo Profilo | Guru

Ciao,
a mio parere:

>1) per i metodi di una classe, è meglio usare i parametri alle
>funzioni o usare le proprietà della classe stessa?
le proprietà servono se devi tenere in memoria (incapsulamento) qualche informazione, tipicamente relativa al funzionamento della classe stessa, quindi tra i vari metodi devono essere presenti.
Se quell'operazione è "atomica" diciamo, ossia fa solo quello e non dipende dallo stato dell'oggetto ma deve fare quella funzione in quel momento, allora puoi usare i metodi statici, e qui i parametri sono fondamentali perchè appunto sono "prive di stato" ossia non ci sono valori di proprietà da leggere o scrivere o cmq da tenere in considerazione per eseguire quell'operazione.

Ad esempio la classe "Convert" del Namespace "System" ha tutti metodi statici, perchè deve solamente eseguire le conversioni tra i tipi (passati come parametri ovviamente) e non gli interessa sapere se avevi impostato qualcosa prima, o a tenersi delle informazioni utili a bordo.

La classe "Form" del Namespace "System.Windwos.Forms" non ha metodi statici, infatti la costruisci e gli setti le varie proprietà (se non lo fai tu da codice lo fa Visual Studio per te nel designer) perchè ogni volta l'utente interagisce con lei, deve sapere dov'è, com'è fatta, il colore di sfondo, i suoi controlli etc...tutta una serie di informazioni che gli servono disponibili sempre, "condivisi" tra i vari metodi/eventi che succedono.

Non so se ho fatto un esempio chiarissimo...



>2) in classi diverse è "giusto" avere delle propietà uguali?
Certo, ogni classe ha vita e comportamento a se stante (o quasi) se le classi hanno funzionalità diverse, non vedo perchè non ci possono essere nomi uguali.
Il dubbio piuttosto lo avrei se le classi non possano essere unificate in un'unica e lavorando con gli overload dei vari metodi avere un comportamento più preciso.


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Jeremy Profilo | Guru

Ciao Fabio

>1) per i metodi di una classe, è meglio usare i parametri alle
>funzioni o usare le proprietà della classe stessa?
I parametri che dichiari nella firma del metodo(o funzione che sia) sono un qualcosa che rimame fine a se stesso ..... nel senso che i parametri, servono a far "funzionare" il metodo (o funzione che sia) e basta ..... le proprietà, invece ..... bhe sono le proprietà di un oggetto, pertanto, un qualcosa che danno un'identità alla classe stessa.

>2) in classi diverse è "giusto" avere delle propietà uguali?
Più che sbagliato è scomodo ( o se vogliamo .... è sbagliato da un punto di vista strutturale del progetto) .... ma puoi comunque prendere in considerazione, l'implementazione di un interfaccia che definisca metodi e proprietà comuni a più classi.

Spero di essere stato abbastanza chiaro.
Facci sapere....
Ciao

EDIT
Oooops abbiamo postato insieme

brazero Profilo | Junior Member

Grazie ragazzi!

ho riflettuto e capito benissimo quello che volevate dire..

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5