-
جمعه 13 شهریور 1388, 20:55 عصر
#8
VIP
نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)
با توجه به روند تاپیک و همنظر بودن دوستان راجع به بررسی پیاده سازی های این معماری تصمیم گرفتم این پست رو با هدف مطرح شده ایجاد کنم تا اگر در ارتقای سطح علمی دوستان تاثیر گزار بود ، مطالب رو در همین راستا به صورت تخصصی تر با کمک همه پیگیری کنیم:
بررسی لایه Data Access Layer
لایه های برنامه ها مون رو به چه صورت یا الگویی باید پیاده سازی کنیم ؟
گزینه های که در لایه dal پیش رو جهت انتخاب داریم : DataSet Designer یا ADO.Net Entity Framework, یا ORM یا linqToSqlو یا با استفاده از اشیای ado و یا .... این کار رو انجام بدیم.(یه جا خوندم که ADO.Net Entity Framework یک orm هست.)
شخصا تو پروژه هام ترجیح میدم از اشیا ado استفاده میکنم و تا حالا از هیچ کدوم از مواردی که نام بردم در برنامه ها استفاده نکردم، دلایل:
ADO.Net Entity Framework : به عنوان یک برنامه نویس به طور ذاتی در مقابل ابزارهای که اختصاصی هست(سیاست های ماکروسافت) مقاومت نشون میدم.
DataSet Designer : هم شامل موارد بالا و هم اینکه احساس میکنم از مسائلی که باید روشون تمرکز داشته باشم قافل میشم
LinqToSql : جالب به نظر میاد ولی وقتی ماکروسافت دیگه پشتیبانیش (به هر دلیلی) نمیکنه ، ارزش هزینه کردن رو نداره.
ORM : همونطور که گفتم تا حالا استفاده نکردم (دلیل فنی و غیر فنی خاصی هم ندارم) ولی به نظرم یک از بهترین گزینه ها می باشد.
راه حل های که به ذهنم میرسه استفاده از ORM و یا همون روش سنتی یعنی اشیا ado بهترین گزینه برای انتخاب لایه dal هست ، البته در رابطه با ADO.Net Entity Framework نظر نمیدم چون استفاده نکردم.
برای استفاده از یک orm کدوم یکی رو پیشنهاد میدین که با محیط ها و پلت فرمهای بیشتری سازگار تر هست
تو روش که من ازش به عنوان روش سنتی و استفاده از اشیا ado نام بردم ، به این صورت عمل میکنم که داده ها رو با یک command و یک Connection استخراج میکنم و خروجی توابع ام هم IDataReader هست ،پیوست مطالبی که جهت توضیح روش مذکور ارائه دادم {
یکی از دوستان اینجا گفته بود که خروجی توابعش از نوع IQueryable هست که به نظر من خیلی جالب اومد (نحوه پیاده سازیش) میخواستم نظر دوستان رو بدونم.
}
لطفا دوستان و اساتید نظرات خودشون رو ، تجربهای شخصی شون رو و یا ایرادات فنی و غیر فنی شون رو راجع به مطالب بالا مطرح کنند.
ضمنا به دلیل مسائل مطرح شده نمونه برنامه ای که قولشو داده بودم میمونه برای چند روز دیگه که پر محتوا تر بشه.
اگه adsl دارین این فیلم آموزشی رو با عنوان Creating an N-Tier Data Application بررسی کنید هر چند که با dataset لایه dal رو میسازه ولی خالی از لطف نیست. در ضمن یه آشنایی نسبی با WCF هم برای دوستانی که آشناییت ندارن ایجاد میشه
آخرین ویرایش به وسیله majid325 : جمعه 13 شهریور 1388 در 21:20 عصر
برچسب های این تاپیک
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت