PDA

View Full Version : سوال : پیاده سازی لایه data access layer



manitack
دوشنبه 07 اسفند 1385, 14:38 عصر
دوستان و اساتید سلام

دو روش زیر را برای پیاده سازی لایه data access layer در نظر بگیرید.

1-- استفاده از متدهایی که با پیکر بندی دیتاست توسط دات نت ایجاد میشود

وما در خطوط برنامه بجای استفاده از کلاسهای ADO.NET از این متدها استفاده میکنیم.

2—استفاده از کلاسهای ADO.NET

سوال اول: در روش اول دات نت از چه راه حلی برای دسترسی به دادها استفاده میکند

سوال دوم: با توجه به اینکه در روش اول CLR زحمات زیادی میکشدو ما را شرمنده میکند!!! آیا کدهای تولید شده کاملا قابل اطمینان هست.

توضیحات و تجربیات دوستان راه گشا خواهد بود. پیشاپیش تشکر صمیمانه...

linux
دوشنبه 07 اسفند 1385, 17:59 عصر
دوستان و اساتید سلام


دو روش زیر را برای پیاده سازی لایه data access layer در نظر بگیرید.


1-- استفاده از متدهایی که با پیکر بندی دیتاست توسط دات نت ایجاد میشود


وما در خطوط برنامه بجای استفاده از کلاسهای ADO.NET از این متدها استفاده میکنیم.


2—استفاده از کلاسهای ADO.NET


سوال اول: در روش اول دات نت از چه راه حلی برای دسترسی به دادها استفاده میکند


سوال دوم: با توجه به اینکه در روش اول CLR زحمات زیادی میکشدو ما را شرمنده میکند!!! آیا کدهای تولید شده کاملا قابل اطمینان هست.


توضیحات و تجربیات دوستان راه گشا خواهد بود. پیشاپیش تشکر صمیمانه...

1- برای این که بفهمی ویزارد ها چطور کار می کنند خوب با ویزارد ها یک برنامه درست کردن بعد بشین بخونش!
2-در هر حال کار را clr انجام می دهد در روش اول که از دیتاست ها استفاده می کنی و ویزاردها خوب کد نویسی کمتر هست. در روش دوم تقریبا همان کار ها را باید خودت انجام بدهی.

manitack
دوشنبه 07 اسفند 1385, 21:22 عصر
1- برای این که بفهمی ویزارد ها چطور کار می کنند خوب با ویزارد ها یک برنامه درست کردن بعد بشین بخونش!
2-در هر حال کار را clr انجام می دهد در روش اول که از دیتاست ها استفاده می کنی و ویزاردها خوب کد نویسی کمتر هست. در روش دوم تقریبا همان کار ها را باید خودت انجام بدهی.
با تشکر
در واقع سوال من بیشتر در نحوه پیاده سازی DAL است.که گفته میشود در روش اول DAL مستقل
از لایه رابط کاربر است (اما در روش دوم خیر)

manitack
سه شنبه 08 اسفند 1385, 20:53 عصر
با سلام مجدد
اگر اساتید نظری بدن ممنون میشوم

حامد مصافی
سه شنبه 08 اسفند 1385, 21:37 عصر
سلام
من در اکثر پروژه هام از ویزارد Data Source خود VS IDE استفاده کردم

علت آن دسترسی آسان به پایگاه داده, استفاده آسان از جدول ها و فیلد ها در محیط توسعه, تولید آسان پرس و جو های سفارشی و ... چندین نکته دیگر است.

در واقع :

...در روش دوم تقریبا همان کار ها را باید خودت انجام بدهی.روش دسترسی به داده ها استفاده از کلاس های خود ADO.NET است. شما چیز متفاوتی تجربه نمی کنید!

کدهای تولید شده به شرط ثابت ماندن چهره پایگاه داده (که در حالت استاندارد چنین نیز است) قابل اطمینان هستند, بنا به یک دلیل خیلی ساده چون این ویزارد هم توسط شرکت سازنده IDE تولید شده است. پس در کمال اطمینان سازگاری کامل را با محیط توسعه خواهد داشت.

در واقع من دلیلی برای استفاده نکردن نمی بینم!

titbasoft
سه شنبه 08 اسفند 1385, 22:56 عصر
این توسعه دهنده نرم افزار نیست که تصمیم بگیره برای بوجود آوردن این لایه از چه روشی استفاده کنه. در دات نت، 2 روش کلی برای ارتباط با بانکهای اطلاعاتی وجود داره که عبارت اند از: Connected و DisConnected که اون هم بسته به شرایط و طراحی قسمت های مختلف حتی یک پروژه قابل تغیره و نمی شه گفت این خوبه اون بده.
اگر هم منظور شما نحوه پیاده سازی هر کدوم از این روش هاست، پس عنوان مناسبی برای تاپیک انتخاب نکردید. نحوه پیاده سازی هم باز بستگی به تسلط توسعه دهندگان داره. من به شخصه با Hard Code (روش غیر ویزاردی) هم راحت ترم و هم بیشتر توصیه می کنمش چون همه چیز دست خودتونه و از بوجود اومدن کلی کد زیادی و شلوغ شدن کدها و نامنظم شدن کد به شدت جلوگیری می کنه، باعث بالا رفتن قابلیت گسترش برنامه میشه و بسیاری از دلایل دیگه. حتی گاها باعث افزایش امنیت سیستم میشه. چندی پیش با سیستمی برخورد داشتم که کاملا ویزاردی بوجود اومده بود (تشخیص اون حتی با رفلکتورها هم مشکل نیست) و خوب چون آشنایی مختصری با نحوه تولید کد ویزاردهای VS داشتم به راحتی تونستم سر از کارش دربیارم.
بحث در این مورد زیاده، به طور کلی هیچ وقت نمی شه گفت یک چیز خوب مطلقه یا بد مطلقه، بسته به شرایط هر چیزی می تونه خوب یا بد باشه. مثلا زمانی که شما زمان محدودی دارید و روی یک سیستم کوچک دسکتاپ دارید کار میکنید شاید عاقلانه ترین کار استفاده از ویزادها باشه.