2011-04-08 15 views
6

मैं डिजाइन पैटर्न के बारे में जानना चाहता हूं जिसे जावा ईई 6 कार्यान्वयन में लागू किया जा सकता है।जावा ईई 6 डिजाइन पैटर्न

  • एमवीसी।
  • जीओएफ।
  • डीएओ
  • लगातार संबंधपरक मानचित्रण
  • पूलिंग
  • सीईसी
  • इकाई नियंत्रण सीमा (ईसीबी)
  • और कई अन्य लोगों

Do जेपीए डीएओ के उपयोग को समाप्त?
कृपया अन्य पैटर्न प्रदान करें जिन्हें सीखा जा सकता है।

उत्तर

3

यदि आप जावा ईई 6 (जावा ईई 5 नहीं) का उपयोग करते हैं, तो जे 2 ईई में उपयोग किए जाने वाले कार्यों के लिए कुछ तकनीकी जे 2 ईई पैटर्न की आवश्यकता नहीं है।

उदाहरण के लिए, ServiceLocator के बजाय इंजेक्शन का उपयोग करें।

@See http://pawelstawicki.blogspot.com/2010/07/review-real-world-java-ee-patterns.html


GOF पैटर्न अभी भी आवश्यक है, क्योंकि वे नहीं (केवल) कर रहे हैं जावा ईई से संबंधित।

सामान्य रूप से: पैटर्न का इरादा है: वे पर्यावरण के द्वारा सिद्ध की गई कार्यक्षमता के दिए गए सेट के साथ एक समाधान/सर्वोत्तम अभ्यास का उत्पादन करना चाहते हैं (आपके मामले में: यह जावा, जावा ईई 6 है, ...)

  • समस्या एक तरह से चला गया है, तो: पर्यावरण बदल गया है के बाद से पैटर्न शौकीन है आप पैटर्न अब
  • की जरूरत नहीं है, तो आप पैटर्न पर पुनर्विचार करने के लिए है, हो सकता है क्योंकि समस्या चला गया है (पहला बिंदु), या अब समस्या को संभालने का एक बेहतर तरीका है।
+0

मैं आपसे सहमत हूं। इसलिए, मैं पूछना चाहता हूं कि कौन से पैटर्न अभी भी आवश्यक हैं। – peterwkc

+0

@peterwkc: मेरे विस्तारित उत्तर देखें, मुझे आशा है कि सामान्य नियम "पदावनत" पैटर्न खोजने के लिए मार्गदर्शन कर सकते हैं। – Ralph

+0

क्षमा करें इस तरह के एक बेवकूफ सवाल पूछने के लिए। चूंकि पैटर्न समस्या हल करने का इरादा रखता है जब तक कि समस्या अभी भी मौजूद न हो, हमें समस्या को हल करने के लिए एक विशिष्ट पैटर्न लागू करना चाहिए। – peterwkc

11

यहाँ एक अच्छा संदर्भ है: http://martinfowler.com/eaaCatalog/

इसके अलावा यहाँ: http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html

इसके अलावा, जेपीए जरूरी एक डीएओ परत की आवश्यकता को समाप्त नहीं करता है। इसके बजाए, आपकी डीएओ परत अभी भी जेपीए प्रश्नों का निर्माण करेगी, संभवतः खोजक तरीकों के भीतर, और उन प्रश्नों को वापस लौटाएं जो उन प्रश्नों को लौटाते हैं।

आप डीएओ परत को खत्म कर सकते हैं, और इसके बजाय सीधे अपने व्यापार स्तर के भीतर जेपीए इकाइयों को हिट कर सकते हैं, लेकिन व्यक्तिगत रूप से अभी भी एक अलग दृढ़ता (डीएओ) और व्यापार स्तर बनाए रखना पसंद करते हैं, खासकर उन मामलों में जहां मैं मिश्रण करना चाहता हूं सादा जेडीबीसी, आदि के साथ कुछ जेपीए ऊपर

बहस here पर बहस का एक बड़ा सारांश है। सबसे अच्छा जवाब यह है कि यह निर्भर करता है। यदि आपका ऐप जटिल है, और आप कुछ मामलों में सीधे जेडीबीसी तक पहुंच सकते हैं (क्योंकि जेपीए और ओआरएम टूल्स सबकुछ का जवाब नहीं हैं, और कुछ चीजों में बहुत बुरे हैं), या यदि आपको स्रोतों से डेटा खींचने की ज़रूरत है जो सिर्फ डॉन करें ओआरएम के साथ अच्छी तरह से काम नहीं करते हैं, आपको किसी भी तरह की डीएओ परत की आवश्यकता होगी, इसलिए मेरे दिमाग में, मैं लगातार रहूंगा और सबकुछ के लिए डीएओ परत का उपयोग करूंगा। यह आम तौर पर जटिल नहीं है, और यह आपके व्यापार तर्क से आपके व्यापार तर्क को अलग करता है, जिसे मैं एक अच्छी बात मानता हूं। लेकिन, यह व्यक्तिगत वरीयता का मामला है, और यदि आपका ऐप उपयुक्त रूप से सरल है, तो शायद यह अधिक है।

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

+0

हम कैसे JPA और डीएओ एक साथ डिजाइन करना चाहिए? क्या आप इसे विस्तार से बताएंगे ? – peterwkc

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