Angenommen vorbei ich habe folgendesPassing einzelnes Objekt vs. mehrere Parameter
Class A {
Foo getFoo();
Bar getBar();
Baz getBaz();
}
Und ich brauche eine Funktion, die doStuff
Foo
, Bar
, Baz
von ein Objekt verwendet, um zu definieren, und hat einige Sachen
Ich kämpfe zwischen welcher Methode der Implementierung doStuff
ist besser (angenommen, es wäre nicht wünschenswert, doStuff
innerhalb der Klasse A
)
Methode A
void doStuff(Foo foo, Bar bar, Baz baz)
{
//some operation
}
oder
Methode B
void doStuff(A a)
{
Foo foo = a.getFoo();
Bar bar = a.getBar();
Baz baz = a.getBaz();
//some operation
}
Zu meiner begrenzten Kenntnis, (+ Pros - cons)
Me Thod A
+ Es ist klar genau das, was doStuff()
auf
-Susceptible zu langen Parameterlisten und anfällige für Benutzerfehler
Methode B Parameter arbeitet
+ Einfache, leicht Verwenden Sie Methode
+ Scheint mehr erweiterbar (?)
-Erzeugt unnötige Abhängigkeit gegenüber Klasse A
Kann jeder Aktie einen zusätzlichen Einblick auf die Vor- und Nachteile dieser beiden Methoden?
Das gesagt, Methode B – JavaHopper