प्रोजेक्ट लोम्बोक एक लोकप्रिय जावा लाइब्रेरी है जिसका उद्देश्य संकलन समय के दौरान सामान्य जावा कोड को स्वचालित रूप से उत्पन्न करने के लिए एनोटेशन प्रदान करके बहुत सारा समय और उनकी ऊर्जा बचाकर बॉयलरप्लेट कोड को कम करना और कोडर्स की उत्पादकता को बढ़ाना है।
प्रोजेक्ट लोम्बोक एनोटेशन की पेशकश करके जावा की वर्बोसिटी को संबोधित करता है जो गेटर्स, सेटर्स, कंस्ट्रक्टर्स, इक्वल्स, हैशकोड और टूस्ट्रिंग विधियों जैसे दोहराव वाले कोड निर्माणों को मैन्युअल रूप से लिखने की आवश्यकता को समाप्त करता है। लोम्बोक एनोटेशन के साथ फ़ील्ड या कक्षाओं को एनोटेट करके, कोडर कंपाइलर को स्वचालित रूप से इन विधियों को उत्पन्न करने का निर्देश दे सकते हैं, बॉयलरप्लेट कोड की मात्रा को कम कर सकते हैं और जावा कक्षाओं को अधिक कॉम्पैक्ट और पठनीय बना सकते हैं।
जावा में प्रोजेक्ट लोम्बोक का उपयोग करने से कई आकर्षक लाभ मिलते हैं जो बेहतर उत्पादकता, कोड गुणवत्ता और रखरखाव में योगदान करते हैं।
प्रोजेक्ट लोम्बोक को चुनने के कुछ कारण यहां दिए गए हैं।
यह "बॉयलरप्लेट कोड" को कम करता है।
यह कोड की पुन: प्रयोज्यता और पठनीयता में भी सुधार करता है।
इसे लागू करना बहुत आसान है और इसमें कोई जटिलता नहीं है।
"आईडीई" के साथ आसानी से एकीकृत हो जाता है।
हमारी अधिकांश परियोजनाएं मावेन पर आधारित हैं। इसलिए, हमें बस अपने प्रोजेक्ट में मौजूद "Pom.xml" फ़ाइल में "प्रोजेक्ट लोम्बोक" निर्भरताएँ जोड़नी होंगी।
मावेन रिपॉजिटरी पर जाएं और वहां से लोम्बोक मावेन रिपॉजिटरी की प्रतिलिपि बनाएं, अपने "पोम.एक्सएमएल" में नवीनतम लोम्बोक निर्भरता जोड़ें और इसे सहेजें, फिर प्रोजेक्ट को रीफ्रेश करें।
जावा में, अब तक का सबसे आम अभ्यास "जावा बीन्स" पैटर्न का उपयोग करके गेटर्स और सेटर्स को जोड़ना है। अधिकांश आईडीई स्वचालित रूप से इन पैटर्न के लिए कोड उत्पन्न करते हैं।
आइए देखें कि कोड "डेटा ऑब्जेक्ट" और "डेटा फ़ैक्टरी" की सहायता से गेटर और सेटर बनाकर इस दृष्टिकोण को समझता है:
लोम्बोक के बिना डेटा ऑब्जेक्ट
जबकि गेटर और सेटर तरीकों को बनाने के लिए पारंपरिक JavaBeans दृष्टिकोण मैन्युअल रूप से काम पूरा करता है, लेकिन इसमें कई कमियां और सीमाएं हैं जो इसे कम वांछनीय बनाती हैं, विशेष रूप से आधुनिक जावा विकास वातावरण में, इसकी कमियां प्रमुख रूप से लोम्बोक में कवर की गई हैं।
इसलिए, इसके बजाय, हम लोम्बोक पैटर्न का उपयोग करना पसंद करते हैं। यहां बताया गया है कि इसे जावा में कैसे लागू किया जा सकता है:
लोम्बोक के बिना कंस्ट्रक्टर्स हमें प्रत्येक कंस्ट्रक्टर को मैन्युअल रूप से परिभाषित करना होगा, जो थकाऊ और त्रुटि-प्रवण हो सकता है, खासकर कई क्षेत्रों वाली कक्षाओं के लिए। इसके अतिरिक्त, हमें विभिन्न कंस्ट्रक्टर कॉन्फ़िगरेशन को संभालने की आवश्यकता है, जो कोड की जटिलता को बढ़ा सकता है।
लोम्बोक @NoArgsConstructor, @AllArgsConstructor और @RequiredArgsConstructor एनोटेशन के साथ इस प्रक्रिया को सरल बनाता है।
लोम्बोक के बिना कंस्ट्रक्टर्स
लोम्बोक एनोटेशन का उपयोग करने से बॉयलरप्लेट कोड की मात्रा कम हो जाती है जिसे मैन्युअल रूप से लिखने की आवश्यकता होती है। लोम्बोक के साथ, आप बस क्लास और फ़ील्ड्स को एनोटेट करते हैं, और कंस्ट्रक्टर निर्दिष्ट मानदंडों के आधार पर स्वचालित रूप से उत्पन्न होते हैं। इससे कोड साफ़ और अधिक संक्षिप्त हो जाता है।
ToString एनोटेशन सुविधा का उपयोग किए बिना
2. EqualAndHashCode जनरेशन
EqualAndHashCode एनोटेशन सुविधा का उपयोग किए बिना
3. डेटा एनोटेशन
@डेटा एनोटेशन का उपयोग किए बिना, हमें मैन्युअल रूप से अपने कोड में गेटर्स, सेटर्स और कंस्ट्रक्टर्स सुविधाओं को लागू करना होगा।
डेटा एनोटेशन सुविधा का उपयोग किए बिना
@डेटा एनोटेशन एक सुविधाजनक शॉर्टकट है जो @Getter, @setter, @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode और कई अन्य एनोटेशन को बंडल करता है।
@data का उपयोग करके, लोम्बोक स्वचालित रूप से कक्षा में घोषित फ़ील्ड के आधार पर हमारे लिए इन विधियों को उत्पन्न करता है। यह बॉयलरप्लेट कोड की मात्रा को काफी कम कर देता है जिसे हमें लिखने और बनाए रखने की आवश्यकता होती है, जिससे हमारा कोड अधिक संक्षिप्त और पठनीय हो जाता है।
पैकेज org.example.dataobjects;
लोम्बोक आयात करें।*;
@गेट्टर
@सेट्टर
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@ToString(बहिष्कृत = {"पदनाम"})
@EqualsAndHashCode
@बिल्डर
@डेटा
सार्वजनिक वर्ग प्रोफ़ाइल {
निजी स्ट्रिंग प्रथमनाम;
निजी स्ट्रिंग अंतिम नाम;
निजी स्ट्रिंग पदनाम;
निजी पूर्णांक आयु;
सार्वजनिक स्थैतिक शून्य main (String [] args) {
// बिल्डर का उपयोग करके प्रोफ़ाइल का एक उदाहरण बनाना
प्रोफ़ाइल प्रोफ़ाइल = प्रोफ़ाइल.बिल्डर()
.पहला नाम("पार्थ")
.अंतिमनाम("कथरोटिया")
.पदनाम("क्यूए ऑटोमेशन इंजीनियर")
.उम्र(23)
।निर्माण();
}
}
डेलम्बोक
हालाँकि यह पोस्ट उन सुविधाओं पर प्रकाश डालती है जिन्हें मैंने सबसे अधिक फायदेमंद पाया है, लोम्बोक अतिरिक्त कार्यक्षमताओं और अनुकूलन की एक बड़ी श्रृंखला प्रदान करता है।
लोम्बोक का दस्तावेज़ीकरण एक अमूल्य संसाधन है, जो प्रत्येक एनोटेशन के लिए गहन स्पष्टीकरण और उदाहरण प्रदान करता है। यदि आप इस पोस्ट में रुचि रखते हैं, तो मैं आपसे और भी अधिक संभावनाओं को उजागर करने के लिए लोम्बोक के दस्तावेज़ीकरण में गहराई से उतरने का आग्रह करता हूं।
इसके अलावा, प्रोजेक्ट साइट विभिन्न प्रोग्रामिंग वातावरणों में लोम्बोक को एकीकृत करने पर व्यापक गाइड प्रदान करती है। चाहे आप एक्लिप्स, नेटबीन्स, इंटेलीजे, या अन्य का उपयोग कर रहे हों, निश्चिंत रहें कि लोम्बोक आपके वर्कफ़्लो के साथ सहजता से एकीकृत होता है। एक ऐसे व्यक्ति के रूप में जो अक्सर आईडीई के बीच स्विच करता है, मैं सभी प्लेटफार्मों पर लोम्बोक की बहुमुखी प्रतिभा और विश्वसनीयता को प्रमाणित कर सकता हूं।
कुल मिलाकर, प्रोजेक्ट लोम्बोक सुविधाओं का एक व्यापक सेट प्रदान करता है जो जावा विकास को सुव्यवस्थित करता है, कोड वर्बोसिटी को कम करता है, और सर्वोत्तम प्रथाओं को बढ़ावा देता है।
प्रोजेक्ट लोम्बोक सुविधाओं का एक व्यापक सेट प्रदान करता है जो जावा परीक्षण को सुव्यवस्थित करता है, कोड वर्बोसिटी को कम करता है और सर्वोत्तम प्रथाओं को बढ़ावा देता है। लोम्बोक बिल्डर्स और लोम्बोक कंस्ट्रक्टर्स को शामिल करके, परीक्षक अपने कोड को और सरल बना सकते हैं और रखरखाव में सुधार कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3