راهکارهای موثر در ASP.Net > راهکارهای کار با داده در ASP.Net

 راهکار 3 - 6 : طراحی لایه های Data Access و Business Logic در ASP.Net

مقدمه :

یکی از معماری های پر کاربرد و مطرح در زمینه دسترسی و نمایش داده در صفحات وب ، معماری 3 لایه است . این معماری از 3 لایه مجزا تشکیل شده که هر کدام وظایف خاصی را انجام داده و با هم در ارتباط هستند .
در برنامه نویسی  ASP.Net این 3 لایه بصورت زیر دسته بندی می شوند :

  1. Presentation Layer : لایه نمایشی یا قابل مشاهده توسط کاربر است . به عبارت دیگر خود صفحه ASP.Net و تمامی ابزارها و کنترل هایی که کاربر می تواند آنها را بر روی صفحه مشاهده کرده و با آنها ارتباط برقرار سازد . لایه  presentation Layer  می باشد .
    نکته حایز اهمیت در طراحی این لایه ، زیبایی ، کارایی و چیدمان مناسب ابزارها و کنترل ها برای سهولت کار کاربر است .
  2. Business Logic Layer : لایه تجاری یا لایه منطقی ، لایه میانی در این معماریست که عمدتا 2 وظیفه اصلی دارد :
    1. پردازش دستورات منطقی و اعتبارسنجی داده ها . برای مثال در این لایه کدی نوشته می شود که حتما کاربر در یک کادر متن عدد وارد نماید .
    2. همچنین این لایه وظیفه انتقال اطلاعات بین لایه Presentation Layer و Data Access و تبادل درخواست های آنان باهم را دارد . به عبارت دیگر این لایه یک لایه واسط است .
  3. Data Access Layer : لایه پایینی یا لایه دسترسی به داده . این لایه حساس ترین لایه در معماری بوده و وظیفه دریافت و ارسال اطلاعات از پایگاه داده و سپس ارسال آنها به لایه Business Logic Layer را دارد . در واقع این لایه دستورات SQL را اجرا می کند .

معرفی راهکار :

در این راهکار قصد داریم تا شما را با نحوه طراحی لایه های مختلف طراحی برنامه در ASP.Net آشنا نماییم . اگر وب سایت شما داده ها را ویرایش کرده و نمایش می دهد ، بایستی این دو لایه را قبل از طراحی لایه نهایی ایجاد نمایید .
موارد زیر را در این راهکار ، آموزش خواهیم داد :

  • ایجاد یک پایگاه داده SQL و اضافه کردن داده به آن .
  • اضافه کردن یک LINQ to SQL به فایل SQL که به عنوان لایه داده کار می کند .
  • ایجاد یک صفحه که به عنوان لایه ارتباط با کار یا Presentation Layer کار می کند .
  • اضافه کردن یک کنترل LinqDataSource به صفحه که به عنوان واسط بین صفحه و پایگاه داده کار کرده و در واقع لایه Business Logic Layer است .

برای حمایت از این پروژه ، کتاب راهکارهای موثر در ASP.Net را دانلود نمایید ...

پیش نیازها :

برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد :

  1. Microsoft Visual Studio .
  2. Microsoft .NET Framework version 2.0 یا بالاتر ( همراه با ویژوال استودیو نصب می شود ) .
  3. دسترسی و اتصال به پایگاه داده 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 :

  1. در منوی Solution Explorer ، بر روی نام وب سایت کلیک سمت راست کرده و گزینه Add New Item را انتخاب نمایید . از پنجره باز شده ، گزینه SQL Database را انتخاب کرده و نام آن را Tasks.mdf بگذارید .
  2. کلید OK را فشار دهید ، ویژوال استودیو پایگاه داده جدید را ساخته و از شما می پرسد که آیا آن را در فولدر App_Data قرار داد و شما هم برای بالا برادن امنیت داده ها ، عبارت Yes را انتخاب کنید .
    نکته : فایل های حساس مثل پایگاه داده SQL Server را در پوشه App_Data قرار دهید . زیرا سرور ASP.Net ، اجازه دسترسی غیر مجاز و دستکاری اطلاعات موجود در این پوشه را به عوامل مخرب نمی دهد .

ایجاد ساختار لازم برای پایگاه داده جدید و اضافه کرد اطلاعات به آن :

از طریق خود نرم افزار ویژوال استودیو و امکانات آن ، به راحتی می توانید ساختار لازم را برای پایگاه داده به روش زیر ایجاد نمایید :

  1. از منوی Solution Explorer ، پوشه App_Data را باز کرده و بر روی فایل پایگاه داده Tasks.mdf دابل کلیک کنید . پایگاه داده Tasks در منوی Server Explorer باز می شود .
  2. بر روی پوشه Tables راست کلیک کرده و گزینه Add New Table را کلیک نمایید . پنجره table definition window نمایش داده می شود .
  3. فیلدهای زیر را برای جدول طبق مشخصات داده شده تعیین نمایید . مطابق تصویر زیر :
  4. ردیفی که فیلد taskId را در آن تعریف کرده ، انتخاب نموده و آن را به عنوان کلید اصلی جدول انتخاب کنید (بر روی فیلد کلیک راست کرده و گزینه Set Primary Key را علامت بزنید ) .
  5. در پنجره Properties ، مقدار خاصیت Identity Column را به فیلد taskId تغییر دهید .
  6. جدول را ذخیره کرده ، نام آن را TasksList گذاشته و سپس پنجره را ببندید .
  7. مجددا بر روی منوی جدول در Server Explorer کلیک راست کرده و گزینه Show Table Data را بزنید . پنجره ای باز می شود که فیلدها و رکوردهای جدول را به شما نشان داده و از طریق آن می توانید اطلاعات جدید را در پایگاه داده وارد نموده و یا آنها را ویرایش کنید .
  8. چهار یا پنج رکورد را در جدول وارد نمایید . توجه داشته باشید که نیازی به تعیین مقدار برای فیلد taskId ندارید ، زیرا این فیلد شناسه رکوردهای جدول است و بصورت اتوماتیک مقداردهی می شود . مطابق تصویر زیر :
  9. پنجره ویرایش جدول را ببندید .

طراحی لایه های Data Access and Business Logic Layers :

شما می توانید لایه های Data Access and Business Logic Layers ، برای پایگاه داده ای که هم اکنون ساختید را به طرق مختلف ایجاد نمایید . در این راهکار ، شما یک کلاس خواهید ساخت که هر جز آن به عنوان یک موجودیت پایگاه داده عمل خواهد کرد . سپس می توانید کدهای مورد نظر خود را به آن کلاس اضافه نمایید . در این راهکار ، ما از زبان LINQ برای کار با داده استفاده خواهیم کرد . LINQ ویژگی زبان های شی گرا را به زبان پایگاه داده اضافه کرده است . این زبان یک مدل جدید برنامه نویسی را برای جستجو و به روز رسانی انواع منابع داده ای مختلف ایجاد کرده و قابلیت های زبان های VB یا #C را نیز پشتیبانی می کند . در این راهکار از کلاس Object Relational Designer برای ایجاد لایه Data Access و پنجره LINQ to SQL در ویژوال استودیو برای طراحی کلاس فوق استفاده می شود .

نحوه ایجاد یک کلاس برای جدول پایگاه داده :

  1. اگر وب سایت شما از قبل دارای پوشه App_Code نمی باشد ، بر روی نام وب سایت کلیک سمت راست نموده و گزینه Add ASP.NET Folder را باز کرده و پوشه App_Code را اضافه کنید .
  2. بر روی پوشه App_Code کلیک سمت راست کرده و گزینه Add New Item را انتخاب کنید . پنجره Add New Item باز می شود .
  3. در زیر قسمت Visual Studio installed templates ، گزینه LINQ to SQL Classes را انتخاب کرده و نام آن را Tasks.dbml تعیین نموده و گزینه Add را بزنید .
  4. پنجره Object Relational Designer باز می شود . از منوی Server Explorer ، جدول TasksList را درگ کرده بر روی پنجره Object Relational Designer رها کنید . سپس فایل Tasks.dbml را ذخیره نمایید . ویژوال استودیو فایل Tasks.dbml.layout را در پوشه App_Code ذخیره کرده و بر حسب زبانی که برای وب سایت خود انتخاب کردید ، فایل Tasks.designer.vb یا Tasks.designer.cs را به پوشه اضافه می کنید .
  5. در Solution Explorer ، فایل Tasks.designer.vb یا Tasks.designer.cs را باز کنید . دقت نمایید که کد فایل ها دارای دو کلاس به نام های TasksDataContext و TasksList است . کلاس TasksDataContext به جای پایگاه داده  و کلاس TasksList به جای جدول آن ایفای نقش می کنند. همچنین کلاس بدون پارامتر TasksDataContext ، مقدار connection string را برای اتصال به پایگاه داده از فایل web.config سایت می خواند .
  6. فایل web.config را باز کنید . دقت کنید که یک ارتباط به پایگاه داده Tasks در المنت connectionStrings فایل web.config اضافه شده است .
  7. فایل های web.config و کلاس را ببندید .

ایجاد و تنظیم یک کنترل LinqDataSource :

اکنون که شما دارای یک پایگاه داده و کلاس هایی که به جای موجودیت های پایگاه داده ایفای نقش می کنند ، هستید ، می توانید از یک کنترل LinqDataSource بر روی صفحات وب برای دسترسی به داده ها استفاده کنید . کنترل LinqDataSource ، کدهای لازم برای انتخاب ، وارد کردن ، ویرایش و نمایش اطلاعات در پایگاه داده را ایجاد می کند . این کلاس ها می تواند توسط لایه business logic برای انجام کارهای پایگاه داده استفاده شوند .

  1. صفحه Default.aspx را باز کرده و به حالت Design بروید .
  2. از بخش Data منوی Toolbox یک کنترل LinqDataSource را بر روی صفحه قرار دهید .
  3. از بخش LinqDataSource Tasks که بصورت یک فلش بر روی صفحه معلوم است ، گزینه Configure Data Source را انتخاب کنید .
  4. در لیست context object ، گزینه TasksDataContext را انتخاب کرده و سپس Next را بزنید .
  5. در لیست گزینه ( <TasksLists( Table<TasksListرا انتخاب کرده و سپس دکمه Finish را فشار دهید .
  6. همچنین در بخش LinqDataSource Tasks ، گزینه های Enable Delete, Enable Insert, and Enable Update را علامت زده و صفحه را ذخیره نمایید . توجه داشته باشید که شما برای انتخاب و نمایش اطلاعات نیازی به نوشتن دستور خاصی ندارید .

ایجاد و تنظیم یک کنترل GridView :

برای ایجاد یک رابط کاربری جهت نمایش اطلاعاتی که توسط کنترل LinqDataSource فراهم شده است ، شما می توانید از کنترل های مختلفی استفاده نمایید . در این راهکار یک کنترل GridView را برای نمایش و ویرایش اطلاعات جدول TasksList استفاده می کنیم بصورت زیر است :

  1. در صفحه Default.aspx به نمای Design بروید .
  2. از بخش Data منوی Toolbox یک کنترل GridView را بر روی صفحه قرار دهید .
  3. در قسمت GridView Tasks ، کنترل LinqDataSource1 را به عنوان کنترل منبع داده آن انتخاب کنید .
  4. همچنین گزینه های Enable Editing and Enable Deleting کنترل را علامت بزنید .
  5. با اجرای صفحه خروجی را مشاهده کرده و با آن کار نمایید .

دانلود فایل عملی پروژه و نسخه PDF راهکار



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1