Diciamo che ho una classe che memorizza solo i dati:
ClassData
Field1
Field2
Field3
Ora diciamo che ho una funzione che utilizza Field1 e Field2:
public void DoStuff(string field1, string field2){
if(field1 == "something"){
//Do something
}
if(field2 == "somethingElse"){
//Do something else
}
}
vs
public void DoStuff(ClassData data){
if(data.field1 == "something"){
//Do something
}
if(data.field2 == "somethingElse"){
//Do something else
}
}
Sembra che questo sia un tipo di cosa di tipo "più arte che scienza", ma ho anche alcuni pensieri. Il passaggio di campi specifici mostra le informazioni richieste fin dall'inizio, che possono facilitare la lettura e la comprensione della funzione. L'invio di solo l'oggetto dati presenta vantaggi perché rende il codice più pulito. Non sarei sorpreso se mi mancassero pro e contro per entrambi e sarei interessato ad ascoltare ciò che pensi. Grazie!