यदि मैं मॉड्यूल/कक्षा का उपयोग कर रहा हूं, तो मेरा कोई नियंत्रण नहीं है, मैं तरीकों में से एक को कैसे सजाना चाहूंगा?मैं किसी मौजूदा ऑब्जेक्ट विधि में सजावट कैसे जोड़ सकता हूं?
मुझे समझ में आता है कि मैं कर सकता हूं: my_decorate_method(target_method)()
लेकिन मुझे ऐसा लगता है कि target_method
को खोज/प्रतिस्थापन के बिना बुलाया जाता है।
क्या यह भी संभव है?
यह मूल तरीका था जिस पर मैंने समस्या को देखा लेकिन यह बहुत काम था। स्वीकार्य उत्तर में विधि जानना उपयोगी है - भले ही यह चीजों को करने का सबसे सही तरीका न हो। –
"पठनीय" और "रखरखाव" के मामले में यह "अधिक सही" का मामला नहीं है। आपका उपयोग केस * सटीक * कारण है कि ओओ भाषाओं में विरासत है। यह बहुत सारे काम के रूप में दिखाई दे सकता है, लेकिन यह हर दूसरे प्रोग्रामर को देखने की उम्मीद है। लंबे समय तक, मजाकिया गतिशील सजावट एक देयता है। सादा पुरानी विरासत देयता नहीं बन जाएगी। –