Pytania otagowane jako method-chaining

5
Cel „return self” z metody klasowej?
Spotkałem coś takiego w projekcie open source. Metody modyfikujące atrybuty instancji zwracają odwołanie do instancji. Jaki jest cel tego konstruktu? class Foo(object): def __init__(self): self.myattr = 0 def bar(self): self.myattr += 1 return self

8
Czy podczas używania metody łączenia łańcuchowego ponownie wykorzystuję obiekt, czy go utworzę?
Podczas korzystania z metody łączenia, takiej jak: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); mogą być dwa podejścia: Ponownie użyj tego samego obiektu, jak poniżej: public Car PaintedIn(Color color) { this.Color = color; return this; } Utwórz nowy obiekt typu Carna każdym kroku, na przykład: public Car PaintedIn(Color color) { var car …

4
Jak nazywa się ten idiom, używając metody łączenia łańcuchów do zbudowania obiektu?
Często używam wzorca, w którym używam łączenia łańcuchowego do ustawiania obiektu, podobnego do wzoru Builderlub Prototype, ale nie tworzę nowych obiektów przy każdym wywołaniu metody, zamiast tego modyfikując oryginalny obiekt. Przykład: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Zastanawiam się tylko, czy istnieje nazwa tego wzorca i czy jest on uważany za anty-wzorzec, ponieważ …

7
Problem ze stylem kodowania: czy powinniśmy mieć funkcje, które pobierają parametr, modyfikują go, a następnie POWRÓT ten parametr?
Mam trochę dyskusji z przyjacielem, czy te dwie praktyki są tylko dwiema stronami tej samej monety, czy też jedna z nich jest naprawdę lepsza. Mamy funkcję, która pobiera parametr, wypełnia jego element członkowski, a następnie zwraca go: Item predictPrice(Item item) Uważam, że ponieważ działa na tym samym przekazywanym obiekcie, nie …


1
Czy metody powiązane, które wymagają tylko jednego parametru na metodę, są równoważne curry?
Ostatnio bawiłem się z Ruby i zastanawiałem się, czy w czysto obiektowych językach (a nawet tych, które nie są czyste) tworzenie metod, które przyjmują tylko jeden parametr, a następnie łączą się, jest równoważne curry w językach z funkcjonalnym styl? Jeśli nie, dlaczego nie? Byłbym wdzięczny za szczegółową, a nawet rygorystyczną …

4
Czy istnieją jakieś wady łączenia się w metody oparte na metodach referencyjnych?
Niedawno zasugerowałem metodę łączenia dla pewnej klasy w pewnym projekcie, aby poprawić czytelność kodu. Dostałem odpowiedź „płynne interfejsy nie powinny być implementowane tylko dla wygody, ale dla semantyki” i kazałem zrzucić moją sugestię. Odpowiedziałem, że nie sugeruję płynnego interfejsu, ale samą metodę łączenia łańcuchów (obie można pomylić ze sobą, czytać …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.