public int foo(int x)
{
int defaultValue = 0;
return foo(x, defaultValue);
}
public int foo(int x, int y)
{
return x + y;
}
Si chiama emulare l'argomento predefinito tramite l'overloading del metodo.
E dove usa il polimorfismo?
Il sovraccarico non è polimorfismo .
Non sono sicuro di un pattern, tranne che è un modo per creare costruttori sovraccarichi con parametri predefiniti.
In .NET 4 questo tipo di codifica non è necessario. Invece, utilizzare i parametri opzionali con i valori predefiniti. Ulteriori informazioni.
"DRY Overloading" è una descrizione migliore; il polimorfismo si riferisce alle gerarchie di ereditarietà. Non penso che si possa definire un modello di design o di architettura, poiché i dettagli a questo livello sono dettagli dell'implementazione, non del design.
Il codice che mostri è un esempio di come implementare i valori dei parametri predefiniti utilizzando una lingua che non consente i valori dei parametri predefiniti.
Leggi altre domande sui tag anti-patterns c# design-patterns