Contenu connexe
Similaire à Me 3 layerarchitecture (7)
Me 3 layerarchitecture
- 1. www.karimzadeh.org 1
چیست؟ الیه سه معماری
Farhad Karimzadeh
درمعماریسهالیهتمامبرنامهبهچندینبخش
تقسیممیشود.اینبخشهامیتوانندفیزیکی
یامنطقیباشند.هربخشکارخاصیراانجام
میدهدمثالنمایشاینترفیسکاربریادسترسی
بهدادهها.برنامهمیتواندبههرتعدادالیه
داشتهباشدولیبههرحالبیشتربرنامههاسه
الیهمجزادارندکهعبارتنداز:
Presentation Layer
Business Logic Layer
Data Access Layer
- 3. www.karimzadeh.org 3
Farhad Karimzadeh
بهطور،خالصهفرآیندموردنظرمااینگونهکارمیکند:
•کاربربرایدادههایبرنامهدرخواستیارسالمیکند.
•الیهData Accessدادههایموردنظررابازیابیمیکندوازطریق
الیهBusiness Logicآنهارابهالیهنمایشمیفرستد.بعضیمواقع
الیهدسترسیبهداده،هاایندادههارامستقیمابهالیهنمایش
ارسالمیکند.
•الیهنمایشاطالعاتیکهبایدنمایشدادهشوندراازطریقالیه
Business Logicدریافتمیکند.
•کاربردادههاراتغییرمیدهدوعملمناسبدرموردآنهارااجرا
میکند(مثلاضافهیابهروزکردندادهها)
•الیهBusiness Logicصحتدادههایواردشدهتوسطکاربررا
بررسیمیکند(دادههارااعتبارسنجیمیکند)
•اگردادههامعتبرباشندآنهارابرایبهروزرسانیدربانک
اطالعاتیبهدستالیهدسترسیبهدادهمیسپارد.
چیست؟ الیه سه معماری
- 6. www.karimzadeh.org 6
الیه های انتخابBusiness Logic
الیهBusiness logicازچندینبخشکهکارهایینظیراعتبارسنجی،کار
گردشکاریاکارهایمشابهراانجاممیدهندتشکیلشدهاست.
کامپوننتهایداتنتاینالیهراشکلمیدهند.
Farhad Karimzadeh
- 7. الیه های انتخابData Access
www.karimzadeh.org 7
ینالیهبادستکاریدادههامثلاضافه،حذفوبهروزرسانیآنهاسروکاردارد.دادههاییکه
بهآنهااشارهکردیممیتواننددرRDBMSیاXMLقرارداشتهباشند.شمابایدالیهدسترسیبه
دادهراچنانطراحیکنیدکهدیگرالیههانیازیبهدانستنوضعیتانباردادههانداشتهباشند.
ADO.NETفناوریدسترسیبهدادهتحتداتنتاست.اگرچهADO.NETازطریقکالسهای
DataReaderاجازهدسترسیبهدادههایدرهنگاماتصالرامیدهدولیبیشترینتمرکزروی
دسترسیبهدادههادرزمانمتصلنبودناست.دیتاستنقشکلیدیرادراینموردبازیمیکند.
دربعضیمواردشمامیتوانیدADOراهمبرایدسترسیبهدادههااستفادهکنیدولیاستفادهاز
آنبایددلیلمعتبریداشتهباشد.ازADOاستفادهنکنیدفقطبهخاطراینکهRecordSetهارا
دوستدارید!
اینجاهمکامپوننتهایداتنتالیهراتشکیلمیدهند.
همچنینوبسرویسهاهممیتوانندالیهدسترسیبهدادهراشکلدهند.اینمخصوصازمانی
درستاستکهدیتابیسشمافراهمکننده(provider )دادهندارد.دراینگونهمواردشمامی
توانیدمقداریکدبرایاتصالبهدادههاوپرکردندیتاستهاوبازگرداندننتایجدروندیتاستبه
درخواستکنندهدادهبنویسید.
عالوهبرADO.NETشمامیتوانیدازامکاناتسیستممدیریتدیتابیسخودمثلتوابعویاروالهای
ذخیرهشدهStored Proceduresاستفادهکنید.
Farhad Karimzadeh