मैं एक डेटाबेस तक पहुँचने के लिए लगभग 50 विधियों के साथ एक बड़े इंटरफ़ेस का उपयोग कर रहा हूँ। इंटरफ़ेस मेरा एक सहयोगी द्वारा लिखा गया है। हमने इस पर चर्चा की:
मैं: 50 तरीके बहुत ज्यादा हैं। यह एक कोड गंध है।
सहकर्मी: मैं इसके बारे में क्या करूंगा? आप डीबी पहुंच चाहते हैं - आपके पास है।
Me: हाँ, लेकिन यह अस्पष्ट और भविष्य में शायद ही बनाए रखने योग्य है।
सहकर्मी: ठीक है, आप सही हैं, यह अच्छा नहीं है। तब इंटरफ़ेस कैसा दिखना चाहिए?
मैं: कैसे 5 तरीके हैं जो वस्तुओं को लौटाते हैं, जैसे, 10 तरीके प्रत्येक?
Mmmh, लेकिन यह एक ही नहीं होगा? क्या यह वास्तव में अधिक स्पष्टता की ओर ले जाता है? क्या यह प्रयास के लायक है?
हर अब और फिर मैं ऐसी स्थिति में हूं जहां मुझे एक इंटरफ़ेस चाहिए और पहली चीज जो दिमाग में आती है वह है एक बड़ा इंटरफ़ेस। क्या इसके लिए एक सामान्य डिजाइन पैटर्न है?
अपडेट (सिज़ुआन की टिप्पणी पर प्रतिक्रिया):
"तरह के तरीके": यह डेटाबेस से डेटा लाने के लिए एक इंटरफ़ेस है। सभी विधियों में फॉर्म (छद्मकोश) है
List<Typename> createTablenameList()
तरीके और टेबल 1-1-संबंध में बिल्कुल नहीं हैं, इस तथ्य पर जोर अधिक है कि आपको हमेशा किसी प्रकार की सूची मिलती है जो डेटाबेस से आती है।
List<WeatherDataRecord> createWeatherDataTable() {db.open(); return db.select("*", "tbl_weatherData");}
UserDao
एकCustomerDao
और एकProductDao
)