মেথড চেইনিং
মেথড চেইনিং হলো একটি টেকনিক যা একই অবজেক্টের ওপর একাধিক মেথড কল করার জন্য ব্যবহৃত হয়, অবজেক্ট রেফারেন্স শুধু একবার ব্যবহার করে। উদাহরণ -
ধরুন আমাদের একটি Foo ক্লাস আছে যার দুটি মেথড: bar এবং baz।
আমরা Foo ক্লাসের একটি ইনস্ট্যান্স তৈরি করি -
foo = Foo()
মেথড চেইনিং ছাড়া, একই অবজেক্ট foo-র ওপর bar এবং baz কল করতে হলে -
foo.bar() foo.baz()
মেথড চেইনিং ব্যবহার করে -
bar() এবং baz() মেথড দুটোই অবজেক্ট foo-র ওপর চেইন করে কল করা।
foo.bar().baz()
উদাহরণ
সিম্পল মেথড চেইনিং পাইথনে সহজে ইমপ্লিমেন্ট করা যায়।
class Foo(object):
def bar(self):
print "Foo.bar called"
return self
def baz(self):
print "Foo.baz called"
return self
foo = Foo()
foo2 = foo.bar().baz()
print " id(foo):", id(foo)
print "id(foo2):", id(foo2)
আউটপুট
উপরের প্রোগ্রাম রান করালে নিচের আউটপুট আসবে -
Foo.bar called Foo.baz called id(foo): 87108128 id(foo2): 87108128