तो मान लें कि हमारे पास कुछ संस्थाएं हैं जिन्हें हम डीएओ ऑब्जेक्ट्स का उपयोग करना जारी रखना चाहते हैं। तो हम सही इंटरफ़ेस को लागू तो हमडीएओ डिजाइन पैटर्न
class JdbcUserDao implements UserDao{
//...
}
class JdbcAddressDao implements AddressDao{
//...
}
तो अगर मैं JDBC से जेपीए के लिए दृढ़ता कार्यान्वयन स्विच करने में सक्षम होना चाहता हूँ के साथ खत्म हो और इसके विपरीत (उदाहरण के लिए), मैं JPAUserDao और JPAAddressDao की आवश्यकता होगी ... मतलब है कि मेरे पास 20 इकाइयां थीं, और कार्यान्वयन स्विच करने का निर्णय लिया (डी कंटेनर का उपयोग करके), मुझे कोड में जेपीए के साथ हर जेडीबीसी कार्यान्वयन को स्विच करना होगा।
अब यह हो सकता है मैं गलत समझा कि कैसे डीएओ काम करता है, लेकिन ... अगर मैं सिर्फ था
class JdbcDaoImpl implements UserDao,AddressDao{
//...
}
मैं तो एक कक्षा में सभी JDBC कार्यान्वयन होगा, और स्विचिंग कार्यान्वयन एक टुकड़ा होगा केक का इसके अलावा, दाओइम्पल गिनती दाओ इंटरफेस की संख्या के बराबर है। क्यों न केवल उन्हें कार्यान्वयन (जेडीबीसी, जेटीए, जेपीए ...) द्वारा समूहित करें और सबकुछ एक वर्ग के नीचे है?
अग्रिम धन्यवाद।
एक ही कारण है कि आप में एक बड़ा 'मुख्य()' विधि अपने आवेदन बाहर कोड नहीं है: चिंताओं की जुदाई। (बीटीडब्ल्यू कोई भी आपको एक अमूर्त 'जेडीबीसीडाओबेस' कोडिंग से रोकता है जिसमें सामान्य कोड होता है और इसे आपके 'दाओ' में बढ़ाया जाता है) – rsp
100 वर्गों की तुलना में 1 वर्ग में 500 विधियों को प्रतिस्थापित करना क्यों आसान होना चाहिए? –