मैं कुछ रणनीतियों को लागू कर रहा हूं (Strategy Pattern) जिसमें कुछ सामान्य व्यवहार है और जहां मैं सामान्य परिचालनों को जीना चाहता हूं, वहां अनिश्चित हूं।जावा सार कक्षा या स्टेटिक यूटिलिटी क्लास डिज़ाइन चॉइस
- मानते हुए कि मैं 1 संदर्भ और 3 रणनीतियों, रणनीतियों में उपयोग किए जाने वाले कुछ संचालन साझा किए जाते हैं, कुछ केवल 2 अन्य लोगों द्वारा ही रणनीतियों में से एक की आवश्यकता होती है।
- कोई सदस्य स्तर राज्य साझा नहीं किया गया है, इसलिए केवल एक ही ऑपरेशन प्रभावी ढंग से स्टेटलेस हैं।
- संचालन का उद्देश्य एक फ़ाइल में राज्य के स्वरूपण का समर्थन करना है, जैसे एक दृश्य सहायक।
विकल्प 1: बनाओ एक AbstractStrategy वर्ग
- मैं जावा का उपयोग कर रहा तो यह तुरंत दूर भविष्य में इस सुविधा का उपयोग कर लेता है।
- विरासत परिणामस्वरूप आता है। एक रिज संरचना में ।
- संचालन अंतिम होगा।
विकल्प 2: स्थिर सहायकों
- लचीला की एक util कक्षा बनाएं, लेकिन किसी कारण के लिए एक कोड गंध की तरह लगता है।
- छुटकारा नहीं मिला।
कोई सिफारिश या प्राथमिकताएं?
ध्यान दें कि मैं जिस स्तर पर काम कर रहा हूं वह रणनीति स्तर है, संदर्भ स्तर नहीं (विकिपीडिया लिंक देखें)।
उपयोगिता कक्षाएं ओओपी में मौजूद नहीं हैं: http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html – yegor256
जब वहां होता है तो मैं अमूर्तता के साथ जाना पसंद करता हूं ** खुले बंद ** पैटर्न का पालन करने की आवश्यकता यानी, कार्यक्रम विस्तार के लिए खुला होगा लेकिन संशोधन के लिए बंद हो जाएगा ... – Jay