2010-01-22 29 views
5

में क्या होना चाहिए मुझे पता है कि यह एक बहुत ही बुनियादी सवाल है। लेकिन मैं वास्तव में समझ नहीं पा रहा हूं कि हमारे पास बीएलएल में क्या होना चाहिए। मुझे एक उदाहरण लेने दो।
आइए हम एक लॉगिन.एएसपीएक्स वेब पेज पर विचार करें, जिसका उपयोग उपयोगकर्ता लॉगिन की सुविधा के लिए किया जाता है।
इस मामले में Login.aspx में दो टेक्स्टबॉक्स और एक लॉगिन बटन होगा। (प्रस्तुति परत)।
डेटा एक्सेस लेयर में यह देखने के लिए फ़ंक्शन होंगे कि उपयोगकर्ता नाम और पासवर्ड सही हैं या नहीं।हमारे पास बिजनेस लॉजिक लेयर (बीएलएल)


मुझे नहीं लगता कि मुझे इस पृष्ठ में कुछ और चाहिए। तो बीएलएल में मेरे पास क्या होगा। यदि आप कुछ कार्यक्षमता जोड़ना चाहते हैं जो बीएलएल में आना चाहिए, तो कृपया जोड़ें।

उत्तर

2

आप कुछ इस तरह होना चाहिए:

यूआई कॉल BL.SaveUsernameAndPassword(string user, string pass);

BL.SaveUsernameAndPassword तार सत्यापित करना चाहिए, और फिर फोन DAL.SaveUsernameAndPassword(string user, string pass);

DAL.SaveUsernameAndPassword अपने SQL क्वेरी में इन मानकों रखना चाहिए और निष्पादित यह, इस धारणा के साथ कि डेटा मान्य है

+0

इसलिए इस मामले में मेरे पास मेरी सभी परियोजनाओं के लिए एक सामान्य डीएएल नहीं हो सकता है, क्योंकि मुझे डीएएल में क्वेरी लिखनी है। –

+0

डीएएल में क्वेरी लिखने के लिए आपको अपनी परियोजनाओं के लिए एक सामान्य डीएएल रखने से क्यों रोकता है? –

+0

कुछ परियोजनाओं में मैं अलग-अलग तालिकाओं से भिन्न संख्याओं का चयन करना चाहूंगा। –

6

नहीं, बीएलएल जांचता है कि उपयोगकर्ता नाम और पासवर्ड सही हैं या नहीं। डीएएल केवल डेटा पहुंच के लिए है।

+0

तो आपका मतलब है, लॉगिन बटन पर क्लिक करके, मैं बीएलएल में एक फ़ंक्शन कॉल करूंगा जो जांचता है कि उपयोगकर्ता नाम और पासवर्ड I उन्हें डीएएल –

+0

@kprobst पर पास करके सही है, क्या मुझे बीएएल –

+1

में एक एसक्यूएल क्वेरी लिखनी चाहिए उदाहरण के लिए, मान लीजिए कि आप उपयोगकर्ता नाम के आधार पर एक पासवर्ड हैश पुनर्प्राप्त कर रहे हैं, और प्रदान किए गए पासवर्ड के विरुद्ध इसे सत्यापित कर रहे हैं। डीएएल का उपयोग उस तालिका से डेटा खींचने के लिए किया जाता है जहां संग्रहीत किया जाता है, बीएलएल का उपयोग हैश को सत्यापित करने के लिए किया जाता है। सामान्य रूप से डेटाबेस में कोई तर्क नहीं होना चाहिए, चाहे व्यवसाय हो या नहीं। यह व्यापार परत में चला जाता है। यह हमेशा संभव नहीं होता है, लेकिन आपको संभवतः डीबी से जितना संभव हो उतना कोड रखने का प्रयास करना चाहिए। इस उद्देश्य के लिए डीबी के डीएएल (ओआरएम, जो कुछ भी) भाग पर विचार करें। – kprobst

4

"डेटा एसेस लेयर में यह देखने के लिए फ़ंक्शन होंगे कि उपयोगकर्ता नाम और पासवर्ड सही हैं या नहीं" - गलत। बीएलएल ऐसा करेगा, डीएएल केवल उपयोगकर्ता की जानकारी को पुनर्प्राप्त करेगा (या पुनर्प्राप्त करने का प्रयास करेगा), बिना किसी जांच किए।

+0

इसलिए इस मामले में, मैं एक एसपी निष्पादित कर रहा हूं, फिर मुझे उस एसपी में पैरामीटर जोड़ना चाहिए, बीएलएल या डीएएल –

+0

में आपके बीएलएल को एसपी को कॉल करने के लिए डीएएल से पूछना चाहिए, और बीएलएल इसके परिणामों पर इसकी वापसी की व्याख्या करेगा। डीएएल केवल एक मस्तिष्क रहित कंडिशन है। –

+0

तो इसका मतलब है कि बीएलएल में मैं उस एसपी में पैरामीटर जोड़ूंगा और निष्पादन के लिए इसे डीएएल पास कर दूंगा। –