Friday, 15 February 2013

naming - Which name is more correct in my case: manager or factory (or something else)? -


मेरे पास अगला कोड है:

  PhotoFactory फ़ैक्टरी = PhotoFactory.getFactory (PhotoResource.PICASA) ; फोटो सत्र सत्र = कारखाना। ओपन सत्र (लॉगिन, पासवर्ड); फोटो एल्बम एल्बम = कारखाना। सृजित एल्बम (); फोटो फोटो = फैक्टरी.क्रेतेफोटो (); Album.addPhoto (फोटो); अगर (session.canUpload ()) {session.uploadAlbum (एल्बम); } Session.close ();  

मुझे यकीन नहीं है कि मैंने सही नाम चुना है। यह इतना महत्वपूर्ण नहीं है, लेकिन मैं सिर्फ मेरे मामले में आपने जो चुन लिया था, उत्सुक हूँ। एक और संस्करण प्रबंधक है:

<पूर्व> PhotoManager manager = PhotoManager.getManager (PhotoResource.PICASA); फोटो सत्र सत्र = manager.open सत्र (लॉगिन, पासवर्ड); फोटो एल्बम एल्बम = manager.createAlbum (); फोटो फोटो = manager.createPhoto (); Album.addPhoto (फोटो); अगर (session.canUpload ()) {session.uploadAlbum (एल्बम); } Session.close ();

UPD: मैं अभी हाइबरनेट जावडॉक्स पर अगले उदाहरण पाया है:

  सत्र सेस = कारखाना। Open सत्र (); लेनदेन टीएक्स; {Tx = sess.beginTransaction () का प्रयास करें; // कुछ काम करते हैं ... tx.commit (); }  

क्या यह नामकरण गलती है?

बहुत बहुत उच्च स्तर, मैं इसे एक फैक्टरी कहता हूं अगर यह कक्षाओं के उदाहरण बनाने के लिए ही जिम्मेदार होता है; और एक प्रबंधक अगर वस्तुओं की चल रही अस्तित्व की निगरानी की जरूरत है, और वे अन्य वस्तुओं से संबंधित हैं, आदि।

आपके द्वारा पोस्ट किए गए कोड स्निपेट में आप केवल ऑब्जेक्ट बना रहे हैं और इस प्रकार, मेरे राय, फैक्टरी एक उपयुक्त नाम है हालांकि आपको यह ध्यान में रखना चाहिए कि कक्षा की अवधारणात्मक जिम्मेदारियां क्या हैं और क्या भविष्य में विस्तार हो सकती हैं।

उस ने कहा, मैं क्लासिक रूप से उम्मीद करता हूं कि एक कारखाने को सत्र बनाने के बारे में चिंता करने की आवश्यकता न हो, बल्कि आवश्यकता के अनुसार अपने createFoo कॉल में सत्र समाप्त हो गए हैं, इसलिए निश्चित रूप से कुछ निराशता कारक के रूप में चीजें स्थापित की जाती हैं। मुझे लगता है कि व्यक्तिगत तौर पर मुझे सत्र बनाने के लिए कुछ अन्य सार तत्व जिम्मेदार होगा, और फिर इन्हें PhotoFactory में पास करें।


No comments:

Post a Comment