Als «method-chaining» getaggte Fragen

5
Zweck von "return self" aus einer Klassenmethode?
In einem Open-Source-Projekt bin ich auf so etwas gestoßen. Methoden, die Instanzattribute ändern, geben einen Verweis auf die Instanz zurück. Was ist der Zweck dieses Konstrukts? class Foo(object): def __init__(self): self.myattr = 0 def bar(self): self.myattr += 1 return self

8
Verwende ich das Objekt beim Verwenden der Methodenverkettung erneut oder erstelle ich ein Objekt?
Bei der Verwendung von Methodenverkettungen wie: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); Es kann zwei Ansätze geben: Verwenden Sie dasselbe Objekt wie folgt erneut: public Car PaintedIn(Color color) { this.Color = color; return this; } Erstellen Sie Carbei jedem Schritt ein neues Objekt vom Typ : public Car PaintedIn(Color color) { …

4
Wie lautet der Name für die Redewendung, die Methodenverkettung verwendet, um ein Objekt zu erstellen?
Ich verwende häufig ein Muster, bei dem ich mithilfe der Methodenverkettung ein Objekt wie ein Builderoder ein PrototypeMuster einrichte, aber nicht bei jedem Methodenaufruf neue Objekte erstelle, sondern das ursprüngliche Objekt ändere. Beispiel: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Ich frage mich nur, ob es einen Namen für dieses Muster gibt und ob …

7
Problem mit dem Codierungsstil: Sollten wir Funktionen haben, die einen Parameter annehmen, ändern und dann diesen Parameter ZURÜCKKEHREN?
Ich habe eine kleine Debatte mit meinem Freund darüber, ob diese beiden Praktiken nur zwei Seiten derselben Medaille sind oder ob eine wirklich besser ist. Wir haben eine Funktion, die einen Parameter nimmt, einen Member davon ausfüllt und ihn dann zurückgibt: Item predictPrice(Item item) Ich glaube, dass es keinen Sinn …



4
Gibt es tatsächlich Nachteile bei der Verkettung selbstreferenzieller Methoden?
Ich habe kürzlich vorgeschlagen, eine Verkettungsmethode für eine bestimmte Klasse in einem bestimmten Projekt zu implementieren, damit die Lesbarkeit des Codes verbessert werden kann. Ich bekam eine "fließende Schnittstelle sollte nicht nur aus Bequemlichkeitsgründen, sondern auch aus semantischen Gründen implementiert werden" Antwort und ließ meinen Vorschlag abschneiden. Ich antwortete, dass …

4
Wann sollte eine Methode einer Klasse dieselbe Instanz zurückgeben, nachdem sie sich selbst geändert hat?
Ich habe eine Klasse, die drei Methoden hat A(), B()und C(). Diese Methoden ändern die eigene Instanz. Während die Methoden eine Instanz zurückgeben müssen, wenn die Instanz eine separate Kopie ist (genau wie Clone()), habe ich die freie Wahl, voiddieselbe Instanz ( return this;) zurückzugeben, wenn dieselbe Instanz in der …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.