Ich neige dazu, kompakte Anwendungen erfolgreich zu schreiben, die viele Geschäftslogik auf eine einfache und nicht redundante Weise kapseln können. Ich neige dazu, kleine Methoden zu erstellen, aber mit der Zeit komme ich zu Methoden, die zu viele Parameter haben. Ich weiß, dass jeder Code sein Design erfordert, aber ich sehe ein Anti-Pattern in meinem Verhalten und ich bin mir nicht sicher, welches der beste Weg wäre, dagegen anzukämpfen.Wie vermeidet man viele Parameter in kritischen Methoden meiner Anwendungen?
public loanStructure CalculateSomeComplicatedInterestRate(enum clientType,
int totalAmout, bool useTaxes, bool doYearlySummary, bool doNotReloadClient, etc)
{
loanStructure ret = new loanStructure();
if (doNotReloadClient) ... ;
...
if (doYearlySummary) GroupResults(ret);
return ret;
}
und innerhalb der Methode, ein Baum der Anrufe leitet die boolean-Einstellungen (doYearlySummary, doNotReloadClient, etc.), um verschiedene Geschäftsregeln, die auf die Berechnung wirkt:
Eine typische Situation wäre so etwas wie sein.
IE, tritt das Problem nicht auf der Tatsache liegen, dass alle Parameter in ein Objekt eingekapselt werden könnte (bigParameterStructure) ... Ich bin nicht zufrieden mit dem masterMethod Muster, aber machen Überlastungen wie CalculateSomeComplicatedInterestRateMonthly und CalculateSomeComplicatedInterestRateYearly wäre nur verstecken private CalculateSomeComplicatedInterestRate .... ein Problem !!
Von grobem objekt Orientiert Design helfen würde ... aber ich Ende-up immer noch diese Art von Methoden, die auf meinen Objekten irgendwo mit ...
Nun Jungen ... jede Hilfe ist willkommen.
Pablo.
Die Geschäftslogik ist was es ist. Wenn es kompliziert ist, ist es kompliziert, nicht deine Schuld. Das sieht für mich gut aus, es sei denn, Sie haben auch Beispiele in nicht-geschäftlichem Logikcode? –