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

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

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

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

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

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

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

4
Существуют ли какие-либо реальные недостатки цепочки самореферентных методов?
Недавно я предложил реализовать метод связывания для определенного класса в определенном проекте, чтобы можно было улучшить читабельность кода. Я получил ответ «беглые интерфейсы должны быть реализованы не просто для удобства, а для семантики», и мое предложение было отклонено. Я ответил, что я не предлагал свободный интерфейс, а сам метод цепочки …

4
Когда метод класса должен возвращать тот же экземпляр после изменения самого себя?
У меня есть класс, который имеет три метода A(), B()и C(). Эти методы изменяют собственный экземпляр. В то время как методы должны возвращать экземпляр, когда экземпляр является отдельной копией (просто как Clone()), я получил свободный выбор возврата voidили того же экземпляра ( return this;) при изменении того же экземпляра в …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.