راهکارهای موثر در ASP.Net > راهکارهای کار با داده در ASP.Net
راهکار 3 - 6 : طراحی لایه های Data Access و Business Logic در ASP.Net
مقدمه :
یکی از معماری های پر کاربرد و مطرح در زمینه دسترسی و نمایش داده در صفحات وب ، معماری
3 لایه است . این معماری از 3 لایه مجزا تشکیل شده که هر کدام وظایف خاصی را انجام
داده و با هم در ارتباط هستند .
در برنامه نویسی ASP.Net این 3 لایه بصورت زیر دسته بندی می شوند :
- Presentation Layer : لایه نمایشی یا قابل مشاهده توسط کاربر
است . به عبارت دیگر خود صفحه ASP.Net و تمامی ابزارها و کنترل هایی که کاربر می تواند
آنها را بر روی صفحه مشاهده کرده و با آنها ارتباط برقرار سازد . لایه
presentation Layer می باشد .
نکته حایز اهمیت در طراحی این لایه ، زیبایی ، کارایی و چیدمان مناسب ابزارها و کنترل
ها برای سهولت کار کاربر است .
- Business Logic Layer : لایه تجاری یا لایه منطقی ، لایه میانی
در این معماریست که عمدتا 2 وظیفه اصلی دارد :
- پردازش دستورات منطقی و اعتبارسنجی داده ها . برای مثال در این لایه کدی نوشته می شود
که حتما کاربر در یک کادر متن عدد وارد نماید .
- همچنین این لایه وظیفه انتقال اطلاعات بین لایه Presentation Layer و Data Access و
تبادل درخواست های آنان باهم را دارد . به عبارت دیگر این لایه یک لایه واسط است .
- Data Access Layer : لایه پایینی یا لایه دسترسی به داده .
این لایه حساس ترین لایه در معماری بوده و وظیفه دریافت و ارسال اطلاعات از پایگاه
داده و سپس ارسال آنها به لایه Business Logic Layer را دارد . در واقع این لایه دستورات
SQL را اجرا می کند .
معرفی راهکار :
در این راهکار قصد داریم تا شما را با نحوه طراحی لایه های مختلف طراحی برنامه در ASP.Net
آشنا نماییم . اگر وب سایت شما داده ها را ویرایش کرده و نمایش می دهد ، بایستی این
دو لایه را قبل از طراحی لایه نهایی ایجاد نمایید .
موارد زیر را در این راهکار ، آموزش خواهیم داد :
- ایجاد یک پایگاه داده SQL و اضافه کردن داده به آن .
- اضافه کردن یک LINQ to SQL به فایل SQL که به عنوان لایه داده کار می کند .
- ایجاد یک صفحه که به عنوان لایه ارتباط با کار یا Presentation Layer کار می کند .
- اضافه کردن یک کنترل LinqDataSource به صفحه که به عنوان واسط بین صفحه و پایگاه داده
کار کرده و در واقع لایه Business Logic Layer است .
برای حمایت از این پروژه ، کتاب
راهکارهای موثر در ASP.Net را دانلود نمایید ...
پیش نیازها :
برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد
:
- Microsoft Visual Studio .
- Microsoft .NET Framework version 2.0 یا بالاتر ( همراه با ویژوال استودیو نصب می
شود ) .
- دسترسی و اتصال به پایگاه داده SQL Server ( معمولا همراه با نرم افزار ویژوال
استودیو نصب می شود ) .
مرحله اول - طراحی یک سایت ASP.Net :
در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید
. فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ،
در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو
بروید .
مرحله دوم - نحوه ایجاد یک پایگاه داده SQL Server :
پس از اینکه یک وب سایت جدید ASP.Net را برای کار بر روی این پروژه ایجاد نمودید
، گام دوم در راهکار اتصال به یک پایگاه داده در ویژوال استودیو بوسیله پنجره Server
Explorer است .
ایجاد ارتباط به یک پایگاه داده در Server Explorer ابن امکان را به شما می دهد تا
جداول ، stored procedures ، views وسایر المنت های مورد نظرتان را به پایگاه داده
به سادگی اضافه نمایید . همچنین می توانید اطلاعات موجود در پایگاه داده و جداول آن
را نیز مشاهده نمایید .
کمی جلوتر در همین راهکار ، ما اقدام به تعریف یک dataset برای لایه Data Access می
کنیم که بایستی برای آن از طریق ویژوال استودیو ، یک connection به پایگاه داده بسازید
. شما می توانید این ارتباط را بصورت دستی نیز بسازید ، ولی ویژوال استودیو راهکارهای
لازم برای ایجاد ویزارد گونه این ارتباط ، را در اختیار شما قرار داده است .
برای این راهکار ، ما ابتدا اقدام به ایجاد یک پایگاه داده برای نگهداری اطلاعات می
کنیم .
ایجاد یک پایگاه داده جدید SQL Server :
- در منوی Solution Explorer ، بر روی نام وب سایت کلیک سمت راست کرده و گزینه Add New
Item را انتخاب نمایید . از پنجره باز شده ، گزینه SQL Database را انتخاب کرده و نام
آن را Tasks.mdf بگذارید .
- کلید OK را فشار دهید ، ویژوال استودیو پایگاه داده جدید را ساخته و از شما می پرسد
که آیا آن را در فولدر App_Data قرار داد و شما هم برای بالا برادن امنیت داده ها ،
عبارت Yes را انتخاب کنید .
نکته : فایل های حساس مثل پایگاه داده SQL Server را در پوشه App_Data
قرار دهید . زیرا سرور ASP.Net ، اجازه دسترسی غیر مجاز و دستکاری اطلاعات موجود در
این پوشه را به عوامل مخرب نمی دهد .
ایجاد ساختار لازم برای پایگاه داده جدید و اضافه کرد اطلاعات به آن :
از طریق خود نرم افزار ویژوال استودیو و امکانات آن ، به راحتی می توانید ساختار لازم
را برای پایگاه داده به روش زیر ایجاد نمایید :
- از منوی Solution Explorer ، پوشه App_Data را باز کرده و بر روی فایل پایگاه داده
Tasks.mdf دابل کلیک کنید . پایگاه داده Tasks در منوی Server Explorer باز می شود
.
- بر روی پوشه Tables راست کلیک کرده و گزینه Add New Table را کلیک نمایید . پنجره table
definition window نمایش داده می شود .
- فیلدهای زیر را برای جدول طبق مشخصات داده شده تعیین نمایید . مطابق تصویر زیر :
- ردیفی که فیلد taskId را در آن تعریف کرده ، انتخاب نموده و آن را به عنوان کلید اصلی
جدول انتخاب کنید (بر روی فیلد کلیک راست کرده و گزینه Set Primary Key را علامت بزنید
) .
- در پنجره Properties ، مقدار خاصیت Identity Column را به فیلد taskId تغییر دهید .
- جدول را ذخیره کرده ، نام آن را TasksList گذاشته و سپس پنجره را ببندید .
- مجددا بر روی منوی جدول در Server Explorer کلیک راست کرده و گزینه Show Table Data
را بزنید . پنجره ای باز می شود که فیلدها و رکوردهای جدول را به شما نشان داده و از
طریق آن می توانید اطلاعات جدید را در پایگاه داده وارد نموده و یا آنها را ویرایش
کنید .
- چهار یا پنج رکورد را در جدول وارد نمایید . توجه داشته باشید که نیازی به تعیین مقدار
برای فیلد taskId ندارید ، زیرا این فیلد شناسه رکوردهای جدول است و بصورت اتوماتیک
مقداردهی می شود . مطابق تصویر زیر :
- پنجره ویرایش جدول را ببندید .
طراحی لایه های Data Access and Business Logic Layers :
شما می توانید لایه های Data Access and Business Logic Layers ، برای پایگاه داده
ای که هم اکنون ساختید را به طرق مختلف ایجاد نمایید . در این راهکار ، شما یک کلاس
خواهید ساخت که هر جز آن به عنوان یک موجودیت پایگاه داده عمل خواهد کرد . سپس می توانید
کدهای مورد نظر خود را به آن کلاس اضافه نمایید . در این راهکار ، ما از زبان LINQ
برای کار با داده استفاده خواهیم کرد . LINQ ویژگی زبان های شی گرا را به زبان پایگاه
داده اضافه کرده است . این زبان یک مدل جدید برنامه نویسی را برای جستجو و به روز رسانی
انواع منابع داده ای مختلف ایجاد کرده و قابلیت های زبان های VB یا #C را نیز پشتیبانی
می کند . در این راهکار از کلاس Object Relational Designer برای ایجاد لایه Data Access
و پنجره LINQ to SQL در ویژوال استودیو برای طراحی کلاس فوق استفاده می شود .
نحوه ایجاد یک کلاس برای جدول پایگاه داده :
- اگر وب سایت شما از قبل دارای پوشه App_Code نمی باشد ، بر روی نام وب سایت کلیک سمت
راست نموده و گزینه Add ASP.NET Folder را باز کرده و پوشه App_Code را اضافه کنید
.
- بر روی پوشه App_Code کلیک سمت راست کرده و گزینه Add New Item را انتخاب کنید . پنجره
Add New Item باز می شود .
- در زیر قسمت Visual Studio installed templates ، گزینه LINQ to SQL Classes را انتخاب
کرده و نام آن را Tasks.dbml تعیین نموده و گزینه Add را بزنید .
- پنجره Object Relational Designer باز می شود . از منوی Server Explorer ، جدول TasksList
را درگ کرده بر روی پنجره Object Relational Designer رها کنید . سپس فایل Tasks.dbml
را ذخیره نمایید . ویژوال استودیو فایل Tasks.dbml.layout را در پوشه App_Code ذخیره
کرده و بر حسب زبانی که برای وب سایت خود انتخاب کردید ، فایل Tasks.designer.vb یا
Tasks.designer.cs را به پوشه اضافه می کنید .
- در Solution Explorer ، فایل Tasks.designer.vb یا Tasks.designer.cs را باز کنید .
دقت نمایید که کد فایل ها دارای دو کلاس به نام های TasksDataContext
و TasksList است . کلاس TasksDataContext به جای پایگاه داده
و کلاس TasksList به جای جدول آن ایفای نقش می کنند. همچنین کلاس بدون پارامتر TasksDataContext
، مقدار connection string را برای اتصال به پایگاه داده از فایل web.config سایت می
خواند .
- فایل web.config را باز کنید . دقت کنید که یک ارتباط به پایگاه داده Tasks در المنت
connectionStrings فایل web.config اضافه شده است .
- فایل های web.config و کلاس را ببندید .
ایجاد و تنظیم یک کنترل LinqDataSource :
اکنون که شما دارای یک پایگاه داده و کلاس هایی که به جای موجودیت های پایگاه داده
ایفای نقش می کنند ، هستید ، می توانید از یک کنترل LinqDataSource بر روی صفحات وب
برای دسترسی به داده ها استفاده کنید . کنترل LinqDataSource ، کدهای لازم برای انتخاب
، وارد کردن ، ویرایش و نمایش اطلاعات در پایگاه داده را ایجاد می کند . این کلاس ها
می تواند توسط لایه business logic برای انجام کارهای پایگاه داده استفاده شوند .
- صفحه Default.aspx را باز کرده و به حالت Design بروید .
- از بخش Data منوی Toolbox یک کنترل LinqDataSource را بر روی صفحه قرار دهید .
- از بخش LinqDataSource Tasks که بصورت یک فلش بر روی صفحه معلوم است ، گزینه Configure
Data Source را انتخاب کنید .
- در لیست context object ، گزینه TasksDataContext را انتخاب کرده و سپس Next را بزنید
.
- در لیست گزینه ( <TasksLists( Table<TasksListرا انتخاب کرده و سپس دکمه Finish
را فشار دهید .
- همچنین در بخش LinqDataSource Tasks ، گزینه های Enable Delete, Enable Insert, and
Enable Update را علامت زده و صفحه را ذخیره نمایید . توجه داشته باشید که شما برای
انتخاب و نمایش اطلاعات نیازی به نوشتن دستور خاصی ندارید .
ایجاد و تنظیم یک کنترل GridView :
برای ایجاد یک رابط کاربری جهت نمایش اطلاعاتی که توسط کنترل LinqDataSource فراهم
شده است ، شما می توانید از کنترل های مختلفی استفاده نمایید . در این راهکار یک کنترل
GridView را برای نمایش و ویرایش اطلاعات جدول TasksList استفاده می کنیم بصورت زیر
است :
- در صفحه Default.aspx به نمای Design بروید .
- از بخش Data منوی Toolbox یک کنترل GridView را بر روی صفحه قرار دهید .
- در قسمت GridView Tasks ، کنترل LinqDataSource1 را به عنوان کنترل منبع داده آن انتخاب
کنید .
- همچنین گزینه های Enable Editing and Enable Deleting کنترل را علامت بزنید .
- با اجرای صفحه خروجی را مشاهده کرده و با آن کار نمایید .
دانلود فایل عملی پروژه و نسخه PDF راهکار
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :