Metoda Dieta de codificare în cascadă

Metoda în cascadă

Vasudev Ram are o postare plictisitoare despre înlănțuirea/cascada metodelor pe care am preluat-o de pe planeta python, în care el susține practic utilizarea metodelor în cascadă. O să nu fiu de acord. În esență, pur și simplu nu înțeleg niciun beneficiu al utilizării în cascadă. Totuși, este o postare drăguță și include câteva referințe la alte metode de legături în cascadă.

metoda

Înlănțuirea metodei este scrierea mai multor apeluri de metode direct una după alta, de obicei pe aceeași linie, cum ar fi (pentru a lua exemplul lui Vasudev):

Cascading este cazul specific al înlănțuirii în care fiecare obiect intermediar este același obiect. Pentru a obține această bară trebuie să reveniți la sine (în Python sau în alte limbi orientate obiect).

Iată primul exemplu al lui Vasudev:

Să presupunem că avem o clasă Foo care conține două metode, bar și baz. Creăm o instanță din clasa Foo:

Fără înlănțuirea metodei, pentru a apela la rândul său atât bar, cât și baz, pe obiectul foo, am face acest lucru:

Cu înlănțuirea metodelor, putem face acest lucru:

Deci, afirmația pentru metoda în cascadă atunci este:

Un avantaj al metodei de înlănțuire este că reduce de câte ori trebuie să folosiți numele obiectului: o singură dată în fragmentul 2 de mai sus, vs. de două ori în Fragmentul 1; iar această diferență va crește atunci când există mai multe apeluri de metodă pe același obiect. Astfel, reduce, de asemenea, cantitatea de cod pe care trebuie să o citiți, să înțelegeți, să testați, să depanați și să întrețineți, în general. Nu sunt beneficii majore, dar pot fi utile.