प्लेटफार्म-विशिष्ट उत्तरों के अलावा पहले से ही, मुझे एक और सामान्य दृश्य से चिपकना अच्छा लगेगा। यह सवाल, मेरी राय से, किसी भी तरह सज्जाकार उपयोग कर के लाभ में से कुछ भाग (जैसे @Component
बनाम extends Component
)
से अधिक डेकोरेटर पैटर्न चुनने का निर्णय से संबंधित है कर रहे हैं:
1. चिंताओं में से पृथक्करण:
सजावटी के अंदर की जानकारी घोषणात्मक है, वे कक्षा के व्यवहार को परिभाषित करते हैं, अधिकतर समय के साथ बदल नहीं जाएगा और ढांचे द्वारा उपयोग किया जाता है। कक्षा गुण और फ़ील्ड कक्षा-विशिष्ट डेटा हैं, हमेशा संसाधित और अक्सर अद्यतन किए जाएंगे, और केवल कक्षा के भीतर ही अर्थपूर्ण होंगे। इन दो प्रकार के डेटा को एक साथ मिश्रित नहीं किया जाना चाहिए।
2।कई संशोधनों का समर्थन
कई भाषाओं Diamond problem के कारण एकाधिक विरासत को रोकती हैं। दूसरी तरफ, एक वर्ग में विभिन्न उद्देश्यों के लिए कई सजावट हो सकती हैं (उदा। @Component
और @RouteConfig
बहिष्कृत)
स्रोत
2016-06-28 10:37:25
"सामान्यतः, सजावटी आपको कार्य निष्पादित करने की अनुमति देते हैं"। यह बहुत उपयोगी नहीं है। प्रोग्रामिंग भाषाएं आपको "कार्य निष्पादित करें" देती हैं ... – spinkus