Questions marquées «method-chaining»

5
But de `return self` à partir d'une méthode de classe?
Je suis tombé sur quelque chose comme ça dans un projet open source. Les méthodes qui modifient les attributs d'instance renvoient une référence à l'instance. Quel est le but de cette construction? class Foo(object): def __init__(self): self.myattr = 0 def bar(self): self.myattr += 1 return self

8
Lorsque j'utilise un chaînage de méthodes, dois-je réutiliser l'objet ou en créer un?
Lorsque vous utilisez une méthode de chaînage comme: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); il peut y avoir deux approches: Réutilisez le même objet, comme ceci: public Car PaintedIn(Color color) { this.Color = color; return this; } Créez un nouvel objet de type Carà chaque étape, comme ceci: public Car PaintedIn(Color …

4
Quel est le nom de l'idiome utilisant le chaînage de méthode pour construire un objet?
J'utilise fréquemment un modèle dans lequel j'utilise le chaînage de méthodes pour configurer un objet, similaire à un modèle Builderor Prototype, mais sans créer de nouveaux objets à chaque appel de méthode, mais plutôt modifier l'objet d'origine. Exemple: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Je me demande simplement s'il y a un nom …




4
Existe-t-il des inconvénients réels au chaînage de méthodes autoréférentielles?
J'ai récemment suggéré qu'une méthode de chaînage soit implémentée pour une certaine classe dans un certain projet afin que la lisibilité du code puisse être améliorée. J'ai obtenu une réponse «les interfaces fluides ne devraient pas être implémentées uniquement pour des raisons de commodité, mais pour la sémantique» et ma …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.