यह एक अच्छा सवाल है।
शेष सिस्टम में जेपीए इकाई वर्गों को उजागर करके आप दृढ़ता तंत्र और डीबी मैपिंग पर ऑब्जेक्ट का पर्दाफाश करते हैं। आप इन वस्तुओं को कैसे क्रोधित और प्रबंधित करते हैं, इस पर नियंत्रण खो देते हैं। दृढ़ता encapsulation तोड़कर, एक परिवर्तन के बाकी सिस्टम पर एक लहर प्रभाव हो सकता है।
सिस्टम दृढ़ता में भविष्य में परिवर्तन असंभव, अजीब, सीमित और/या जोखिम भरा हो सकता है। उदाहरण: आपको प्रदर्शन और/या स्केलेबिलिटी के लिए अनुकूलित करने की आवश्यकता हो सकती है। इसके लिए कैशिंग, डीबी स्कीमा परिवर्तन, गैर आरडीबीएमएस उपयोग, एकाधिक डेटाबेस की आवश्यकता हो सकती है। Encapsulation भी भविष्य डीबी schemas के प्रवासन को कम करने में मदद करता है।
तो व्यापार बंद है:
- प्रबंधन और जो दृढ़ता समाहित जेपीए के शीर्ष पर एक आवेदन हठ परत को बनाए रखने। यानी एक इंटरफ़ेस।या
- अपने आर्किटेक्चर में बोर्ड भर में जेपीए का उपयोग करने का निर्णय लेता है। इस तथ्य को स्वीकार करें कि भविष्य में परिवर्तनों के सिस्टम के व्यापक प्रभाव हो सकते हैं।
यदि पहला सिस्टम व्यापक परिवर्तन स्वीकार्य नहीं है तो पहला विकल्प आवश्यक हो सकता है - उदा। तीसरे पक्ष आपके डेटा तक पहुंच रहे हैं। या शायद आपने 3 परत आर्किटेक्चर पर निर्णय लिया है: जीयूआई, बिजनेस लॉजिक, दृढ़ता।
दूसरा विकल्प ठीक है यदि आपके पास एक चुस्त विकास प्रक्रिया है और पूरे सिस्टम पर नियंत्रण है और इस तथ्य को स्वीकार करते हैं कि सिस्टम के व्यापक परिवर्तन लाइन के नीचे आवश्यक हो सकते हैं।
आपको जवाब के साथ श्रेय देना क्योंकि आप एंटीपाटर पर दिलचस्प दस्तावेज से जुड़े हुए हैं। – Tazzy531