3 Stimmen

Java = Return Object list/array vs. Result-Object (dasselbe mit Methodenparametern)

Dies mag eine seltsame Frage sein: Ich ringe mit der Entscheidung, ob es eine gute Praxis und "effizient" ist, mit "Typed Objects" auf einer sehr granularen Ebene zu arbeiten.

public Object[] doSomething() {
    Object[] resultList = new Object[] {new Foo(), new Bar()};
    return resultList;
}

gegen

public Result doSomething() {
    Result result = new Result();
    result.foo = new Foo();
    result.bar = new Bar();
    return result;
}

public class Result{
    Foo foo;
    Bar bar;
}

Meine Frage lautet konkret wie folgt:

  1. In Bezug auf die CPU-Zyklen (als relative Zahl), wie viel verbraucht der zweite Ansatz mehr Ressourcen. (etwa 100% mehr)

  2. Dieselbe Frage in Bezug auf den Speicherverbrauch

NB (diese beiden Fragen sind zum besseren Verständnis, es geht nicht um eine vorzeitige Optimierung)

  1. Was die "gute Entwurfspraxis" betrifft. Glauben Sie, dass Version 1 ein absolutes No-Go ist, oder denken Sie eher, dass es eigentlich egal ist... Oder würden Sie vorschlagen, niemals "Objekt-Arrays" (((in einer objektorientierten Programmiersprache))) zurückzugeben...

Das ist etwas, was ich mich immer frage, ob ich dedizierte Objekte für alles erstellen sollte (für die Übergabe von Werten) oder ob ich lieber generische Objekte (und allgemeine Methodenparameter) verwenden sollte...

Die Frage gilt auch für

public doSomething(Query query ) 

gegen

public doSomething(Foo foo, Bar bar, Aaaa, a, Bbbbb)

danke

Markus

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X