«method-chaining» etiketlenmiş sorular

5
Bir sınıf yönteminden “dönüş öz” amacı?
Açık kaynaklı bir projede bunun gibi bir şeyle karşılaştım. Örnek niteliklerini değiştiren yöntemler, örneğe bir referans döndürür. Bu yapının amacı nedir? class Foo(object): def __init__(self): self.myattr = 0 def bar(self): self.myattr += 1 return self

8
Metot zincirleme kullanırken, nesneyi yeniden mi kullanırım yoksa bir tane mi yaratırım?
Gibi yöntem zincirleme kullanırken: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); iki yaklaşım olabilir: Bunun gibi aynı nesneyi tekrar kullanın: public Car PaintedIn(Color color) { this.Color = color; return this; } CarHer adımda bunun gibi yeni bir tür nesne oluşturun : public Car PaintedIn(Color color) { var car = new Car(this); // …

4
Bir nesneyi oluşturmak için yöntem zincirini kullanan deyim adı nedir?
Bir nesneyi, a veya desene benzer şekilde ayarlamak için yöntem zincirini kullandığım , ancak her yöntem çağrısı ile yeni nesneler oluşturmadığım, orijinal nesneyi değiştirdiğim bir desen kullanıyorum .BuilderPrototype Örnek: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Sadece bu kalıp için bir isim olup olmadığını ve bunun anti-pattern olarak kabul edilip edilmediğini merak etmek, çünkü …

7
Kodlama stili sorunu: Parametre alan, değiştiren ve daha sonra bu parametreyi GERİ DÖNEN fonksiyonlarımız olmalı mı?
Bu iki uygulamanın aynı madalyonun sadece iki yüzü olup olmadığı ya da gerçekten daha iyi olup olmadığı konusunda arkadaşımla biraz tartışıyorum. Bir parametre alan, bir üyeyi dolduran ve sonra döndüren bir fonksiyonumuz var: Item predictPrice(Item item) Aynı nesne üzerinde çalıştığından , öğeyi iade etmenin bir anlamı olmadığına inanıyorum . Aslında, …

7
İşlev yalnızca değiştirilmemiş parametreyi döndürür, işe yaramaz mı?
Bu işlevi çalıştığım projede buldum: -- Just returns the text unchanged. -- Note: <text> may be nil, function must return nil in that case! function Widget:wtr(text) return text end Çok üzücü, kodlayıcı artık şirkette çalışmıyor. Neden hiçbir şey yapmayan ama çağrıldığı parametreyi döndüren bir işlev yapsın? Bu örnekte belirtilmeyen, ancak …


4
Kendini referans alan yöntem zincirlemesinin gerçek dezavantajları var mı?
Son zamanlarda belirli bir projede belirli bir sınıf için zincirleme yönteminin uygulanmasını önerdim, böylece kodun okunabilirliği geliştirilebilir. Sadece kolaylık sağlamak için değil, anlambilim için de akıcı arayüzler uygulanmalı ve benim önerim reddedildi. Akıcı bir arayüz önermediğimi ama okunabilirliği ve kodlama konforunu iyileştirmek için kendini zincirleme yönteminin (her ikisi de birbiriyle …

4
Bir sınıf yöntemi, kendisini değiştirdikten sonra aynı örneği ne zaman döndürmelidir?
Ben üç yöntem vardır bir sınıf var A(), B()ve C(). Bu yöntemler kendi örneğini değiştirir. Örnek ayrı bir kopya olduğunda (örneğin) bir örnek döndürmek zorunda olsa da, yöntemde aynı örneği değiştirirken ve başka bir değer Clone()döndürmüyorken, döndürmek için ücretsiz bir seçim voidveya aynı örneği ( return this;) var. Aynı değiştirilmiş …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.