2013-12-07 6 views
9

क्या जावाबीन के समान डीएओ विधियों के लिए मानक नामकरण सम्मेलन है?डीएओ विधियों के लिए मानक नामकरण सम्मेलन

उदाहरण के लिए, मैंने देखा है कि एक नामकरण सम्मेलन एक इकाई और find() इकाइयों की सूची लौटने के लिए get() का उपयोग करना है।

यदि कोई नहीं है, तो आपकी टीम किस चीज का उपयोग कर रही है और क्यों?

उत्तर

10

आमतौर पर मैं इस तरह के तरीकों का नाम देता हूं कि नाम CRUD ऑपरेशन के प्रकार को इंगित करता है जो विधि द्वारा लागू किया जाएगा, जैसे add*, save* या find*

  • add*addPhoneNumber(Long userId) की तरह, INSERT कार्यों पर लागू किया जा सकता।

  • get*SELECT संचालन के लिए लागू किया जा सकता है, जैसे getEmailAddress(Long userId)

  • set*UPDATE ऑपरेशन करने वाली विधि पर लागू किया जा सकता है।

  • delete*DELETE संचालन, deleteUser(Long userId) पर लागू किया जा सकता है। Althought मुझे यकीन नहीं है कि भौतिक हटाना कितना उपयोगी है। निजी तौर पर, मैं एक ध्वज सेट करता हूं जो इंगित करता है कि भौतिक हटाने के बजाए पंक्ति का उपयोग नहीं किया जाएगा।

  • is* कुछ ऐसी विधि पर लागू किया जा सकता है जो कुछ जांचता है, उदाहरण के लिए isUsernameAvailable(String username)

+0

मैं व्यक्तिगत रूप से अधिक इच्छित जानकारी जोड़ने के लिए findAll * जैसे विधियों पर वर्णनात्मक नामों का भी उपयोग करता हूं –

+1

डीएओ परत पर जाने पर, हमें मॉडल के समान नामकरण का उपयोग नहीं करना चाहिए। 'सेट' और 'एड' उपयोग 'अपडेट' के बजाय, 'get' का उपयोग करें 'ढूंढें' के बजाय। जब संभव हो तो विशेष रूप से मॉडल ऑब्जेक्ट को पास करने के लिए अधिक ऑब्जेक्ट ओरिएंटेड होने की कोशिश करें –

17

मैं निम्नलिखित की तरह सम्मेलनों के बारे में पता कर रहा हूँ:

  • find के साथ शुरू तरीकों, select संचालन, और विधि के नाम खोज मापदंड युक्त प्रदर्शन findById, findByUsername, findByFirstNameAndLastName की तरह, आदि

  • संशोधन विधियां create, update, delete से शुरू होती हैं।

Spring Data JPA द्वारा उपयोग किए गए सम्मेलनों की जांच करें। यह वसंत ढांचे का हिस्सा है जो डीएओ को स्वचालित रूप से नामकरण सम्मेलनों के आधार पर विधि नाम के निरीक्षण के अन्य चीजों के आधार पर लिखता है।

get() एकल इकाइयों के लिए एक अच्छा विकल्प प्रतीत नहीं होता है, क्योंकि जावा डेवलपर्स द्वारा जावा-बीन गेटर में मिलता है।

+1

बहुत सहमत हैं: ढूंढने से कहीं ज्यादा बेहतर है (यह हमेशा मुझे गेटटर के बारे में सोचता है)। विधि नामों में खोज मानदंड जोड़ने के लिए भी उत्कृष्ट है। –

+0

उन परिस्थितियों के बारे में क्या है जहां आप एफ.प्रोमाइज़ लौट रहे हैं? क्या आपका खोज BUUUername नाम मिल जाएगा ByUsernameAsync? धन्यवाद। – Mule

संबंधित मुद्दे