Вопросы с тегом «method-chaining»

46
Цель `вернуть себя` из метода класса?

Я столкнулся с чем-то вроде этого в проекте с открытым исходным кодом. Методы, которые изменяют атрибуты экземпляра, возвращают ссылку на экземпляр. Какова цель этой конструкции? class Foo(object): def __init__(self): self.myattr = 0 def bar(self): self.myattr += 1 return self...

37
При использовании метода цепочки я повторно использую объект или создаю его?

При использовании метода цепочки, как: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); может быть два подхода: Повторно используйте тот же объект, например так: public Car PaintedIn(Color color) { this.Color = color; return this; } Создавайте новый объект...

21
Как называется идиома, использующая цепочку методов для построения объекта?

Я часто использую шаблон, в котором я использую цепочку методов для настройки объекта, аналогичного шаблону Builderили Prototype, но не создаю новые объекты при каждом вызове метода, вместо этого изменяя исходный объект. Пример: new Menu().withItem("Eggs").withItem("Hash...

19
Проблема стиля кодирования: должны ли мы иметь функции, которые принимают параметр, модифицируют его, а затем возвращают этот параметр?

Я немного спорю с моим другом о том, являются ли эти две практики просто двумя сторонами одной медали, или же одна из них действительно лучше. У нас есть функция, которая принимает параметр, заполняет его член и затем возвращает его: Item predictPrice(Item item) Я считаю, что, поскольку он работает...

15
Являются ли цепочечные методы, которые требуют только одного параметра на метод, эквивалентными каррированию?

В последнее время я играю с Ruby, и мне стало интересно, если в чистых объектно-ориентированных языках (и даже в тех, которые не являются чистыми) создание методов, которые принимают только один параметр, а затем объединяются в цепочки, эквивалентно каррированию в языках с функционалом стиль? Если...

15
Функция возвращает только неизмененный параметр, бесполезно?

Я только что нашел эту функцию в проекте, над которым я работаю: -- Just returns the text unchanged. -- Note: <text> may be nil, function must return nil in that case! function Widget:wtr(text) return text end Жаль, кодер больше не работает в компании. Зачем делать функцию, которая ничего не...

14
Существуют ли какие-либо реальные недостатки цепочки самореферентных методов?

Недавно я предложил реализовать метод связывания для определенного класса в определенном проекте, чтобы можно было улучшить читабельность кода. Я получил ответ «беглые интерфейсы должны быть реализованы не просто для удобства, а для семантики», и мое предложение было отклонено. Я ответил, что я не...

9
Когда метод класса должен возвращать тот же экземпляр после изменения самого себя?

У меня есть класс, который имеет три метода A(), B()и C(). Эти методы изменяют собственный экземпляр. В то время как методы должны возвращать экземпляр, когда экземпляр является отдельной копией (просто как Clone()), я получил свободный выбор возврата voidили того же экземпляра ( return this;) при...