بررسی انواع مدل كدينگ در ASP.NET 2.0 New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 دوشنبه  4  ارديبهشت  1396  2017  Apr.  24   Monday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 انواع مدل كدينگ در ASP. NET 2.0 ( بخش اول )

 مديريت وب

10139

11

3.7

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

انواع مدل كدينگ در ASP. NET 2.0

انواع مدل كدينگ در ASP. NET 2.0 ( بخش اول )
پس از عرضه ASP.NET 2.0 ، تغييرات گسترده ای در خصوص نحوه كدينگ برنامه های‌ وب ايجاد گرديد . پياده كنندگان برنامه های وب كه از فناوری فوق برای پياده سازی برنامه های وب استفاده می نمايند ، می بايست با اين تغييرات و دستاوردهای آن به خوبی آشنا شوند تا بتوانند برنامه هائی را ايجاد نمايند كه ظاهر و باطن آنها با استفاده از آخرين فناوری های موجود پياده سازی شده باشد .
به دليل اهميت اين موضوع بر آن شديم كه در سه مقاله جداگانه با گزينه های موجود برای كدينگ يك صفحه وب آشنا شويم و به چندين پرسش اساسی در اين رابطه پاسخ دهيم . در اولين بخش ، پس از بررسی اجمالی برخی نكات اوليه و مهم كه بيشتر جنبه يادآوری دارد به بررسی انواع مدل كدينگ در ASP.NET 2.0 خواهيم پرداخت .

يادآوری !
پياده كنندگان برنامه های وب كه از فناوری ASP. NET برای توليد محتويات پويا استفاده می كنند ، برای پياده سازی برنامه های خود  می توانند از ابزارهای مختلفی استفاده نمايند . در اكثر وب سايت های بزرگ برای توليد برنامه های وب از ويژوال استوديو استفاده می گردد . اين ابزار پياده سازی حرفه ای ، شامل مجموعه ای غنی از ابزارهای طراحی ، امكانات گسترده جهت اشكال زدائی و تسهيلات كمكی مناسب در زمان كدينگ است .
ويژوال استوديو  ، همچنين ازمدل code-behind حمايت می نمايد كه در آن كد از تگ ها و ساير علائم نشانه گذاری موجود در يك صفحه وب تفكيك می گردد .
برای ايجاد يك برنامه در ويژوال استوديو 2005 به دو پتانسيل سطح بالا نياز است :

  •  كمپايلر كه مسئوليت بررسی كد نوشته شده و ترجمه آن به يك كد سطح پائين تر را برعهده دارد ( در اين مورد خاص ، ترجمه به IL )  .

  •  IDE ( برگرفته شده از Integrated Development Environment  ) كه به پياده كنندگان امكان نوشتن كد مورد نياز برای ايجاد يك برنامه وب را می دهد .
    برای پياده سازی يك برنامه وب ASP.NET ، بكارگيری ويژوال استوديو دات نت يك الزام نيست و پياده كنندگان می تواند برای كدينگ برنامه خود از يك برنامه  ويرايشگر ( نظير notepad ) نيز استفاده نمايند .
    در زمان پياده سازی يك برنامه وب ، ارائه تسهيلات لازم برای كدينگ از جمله خواسته های مشترك تمامی پياده كنندگان است تا آنان بتوانند صرفنظر از ميزان توانمندی ، سرود خلاقيت خود را آنچنان كه بايسته و شايسته است به گوش مخاطبان برسانند . شايد به همين دليل باشد كه ويژوال استوديو دات نت برای پياده كنندگان برنامه های وب ASP.NET  ، به عنوان اولين گزينه ابزار پياده سازی مطرح می گردد . 

با جداسازی ابزارهای پياده سازی  و كمپايلر ها اين امكان در اختيار پياده كنندگان گذاشته شده است كه هر يك از ابزار مورد علاقه خود برای پياده سازی برنامه های وب ASP.NET استفاده نمايند و در ادامه اقدام به ترجمه آن نمايند .
به همراه دات نت كمپايلرهای متعددی ارائه شده است :

  • كمپايلر ويژوال بيسيك ( فايل vbc.exe )

  • كمپايلر #C (  فايل csc.exe )

  • كمپايلر JScript (  فايل jsc.exe )

  • كمپايلر #J (  فايل vjc.exe )

در صورتی كه قصد استفاده از برنامه های مترجم فوق را بطور دستی داشته می باشيم ، می توان آنها را از طريق خط دستور فعال كرد . كمپايلرهای فوق در آدرس c:\[WinDir]\Microsoft.NET\[Version] قرار دارند  كه در آن WinDir ، دايركتوری محل نصب سيستم عامل ( نظير c:\windows ) و Version شماره نسخه دات نت نصب شده بر روی كامپيوتر است ( نظير v2.0.50215 ) .
استفاده از كمپايلرهای دات نت بطور دستی توصيه نمی گردد چراكه در چنين مواردی می بايست فايل مورد نظر جهت ترجمه و ساير اسمبلی های مورد نياز را مشخص نمود . همچنين لازم است تمامی برنامه را ترجمه و يا هر صفحه را بطور جداگانه ترجمه نمود . برای پيشگيری از اين نوع مسائل جانبی و مشكل ساز ، اكثر پياده كنندگان از امكانات حمايتی تعبيه شده برای ترجمه صفحات در ويژوال استوديو استفاده می نمايند .
در ASP.NET 1.x ، ويژوال استوديو تمامی صفحات وب را در يك اسمبلی DLL ترجمه می كرد . در ويژوال استوديو  2005 ، رويكرد فوق تغيير يافته است و به ASP.NET اجازه داه می شود  كه برای هر صفحه در اولين مرتبه دستيابی ، ترجمه را انجام دهد . سياست فوق باعث شده است كه  سرعت اشكال زدائی افزايش يافته و پياده كنندگان بتوانند  وب سايت هائی پياده سازی نمايند كه در آنها صفحات وب با زبان های مختلفی نوشته شده باشند .

انواع مدل كدينگ
برای كدينگ صفحات وب و سرويس های وب می توان از دو مدل مختلف استفاده كرد :

  •  Inline code : اين مدل به صفحات كلاسيك ASP نزديك تر است و در آن تمامی كد به همراه تگ های Html در يك فايل aspx . ذخيره می گردد . كد مورد نياز در يك و يا چندين بلاك اسكريپت قرار می گيرد . با قرار دادن كدها در يك بلاك اسكريپت ، در صورتی كه در محيط ويژوال استوديو كار می كنيم همچنان امكان استفاده از پتانسيل هائی نظير اشكال زدائی و  IntelliSense ، تعامل با رويدادها و استفاده از برنامه های جانبی وجود خواهد داشت . اين مدل به سهولت قابل استفاده است چراكه همه چيز در يك پكيچ نگهداری می گردد و برای كدينگ صفحات وب ساده مناسب است .

  •  code-Behind : در اين مدل هر صفحه ASP.NET در دو فايل جداگانه نگهداری می گردد. اولين فايل كه به فايل markup موسوم است شامل تگ های Html و تگ های كنترل های مختص ASP.NET است كه دارای انشعاب aspx . است . دومين فايل ، شامل كد مورد نياز با توجه به اهداف عملياتی يك صفحه وب است . اين فايل با توجه به اين كه از چه زبانی برای نوشتن كدها استفاده شده است دارای انشعاب متفاوتی خواهد بود . به عنوان نمونه در صورتی كه برای كدينگ از زبان VB.NET استفاده شده باشد ، انشعاب اين فايل vb . و در صورتی كه از زبان #C استفاده شده باشد ، انشعاب آن cs. خواهد بود . مدل فوق سازماندهی بهتری را ارائه می نمايد و بخش رابط كاربر را از منطق برنامه نويسی مجزا می نمايد . اين وضعيت خصوصا" در مواردی كه قصد پياده سازی صفحات وب پيچيده را داشته باشيم ، بسيار مفيد و موثر خواهد بود . در ويژوال استوديو 2005 پياده سازی مدل code-behind تغيير يافته است ولی فلسفه كلی كار با نسخه های قبلی تا حدود زيادی مشابه است .

در  NET 1.x.  ابزار طراحی استفاده شده برای پياده سازی ، نوع مدل كدينگ را مشخص می كرد .  در ويژوال استوديو شما دارای آزادی عمل در خصوص انتخاب هر يك از گزينه های فوق می باشيد . زمانی كه يك صفحه وب جديد را به وب سايت خود اضافه می نمايد ، با انتخاب و يا عدم گزينش  Place Code in Separate File می توان در اين رابطه تصميم گرفت .
در يك پروژه و يا برنامه وب می توان از دو مدل فوق استفاده كرد  . شكل 1 ، نحوه عمليات فوق را نشان می دهد
( انتخاب گزينه Web site و در ادامه Add New Item )

اتخاذ تصميم در خصوص نوع مدل كدينگ
شكل 1 : اتخاذ تصميم در خصوص نوع مدل كدينگ

مثال
برای آشنائی بيشتر با روش Inline code  و يا  code-Behind  يك نمونه مثال را با يكديگر بررسی می نمائيم .
روش كدينگ Inline code  : همه  چيز در يك فايل و با نام TestInlineCode.aspx خلاصه شده است. كد زير نحوه انجام اين كار را نشان می دهد . 

روش  Inline code  : فايل TestInlineCode.aspx

<%@ Page Language="VB" %>

<script runat="server">
  Protected
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
     Label1.Text =
"Current time: "
& DateTime.Now.ToLongTimeString()
  End Sub
</
script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<
head id="Head1" runat="server">
  <
title>Test Page</title>
</
head>
<
body>
<
form id="form1" runat="server">
<
div>
   <
asp:Label ID="Label1" runat="server" Text="Click Me!"> </asp:Label>
   <
br />
   <
asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</
div>
</
form>
</
body>
</
html
>

روش code-behind : در اين مدل از دو فايل استفاده شده است : فايل TestCodeBehind.aspx كه شامل تگ های html و تگ های كنترل های مختص ASP.NET  است و بخش رابط كاربر برنامه را تشكيل می دهد و فايل TestCodeBehind.aspx.vb كه حاوی كد مورد نياز صفحه وب با توجه به اهداف عملياتی است .
كد زير محتويات فايل  TestCodeBehind.aspx  را نشان می دهد .

روش code-behind  : فايل TestCodeBehind.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="TestCodeBehind.aspx.vb" Inherits="TestCodeBehind" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<
head id="Head1" runat="server">
 <
title>Test Page</title>
</
head>
<
body>
<
form id="form1" runat="server">
<
div>
   <
asp:Label ID="Label1" runat="server" Text="Click Me!"></asp:Label>
   <
br />
   <
asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</
div>
</
form>
</
body>
</
html>

كد زير محتويات فايل TestCodeBehind.aspx.vb را نشان می دهد .

روش code-behind  : فايل TestCodeBehind.aspx.vb

Partial Class TestCodeBehind
 
Inherits System.Web.UI.Page
  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
       Label1.Text =
"Current time: " & DateTime.Now.ToLongTimeString()
  End Sub
End
Class

در كلاس صفحه ( TestCodeBehind ) ، تمامی متدهای صفحه تعريف می گردند .

جمع بندی

  • مدل  code-behind برای صفحات پيچيده ترجيح داده می شود.

  • با اين كه مدل inline code برای صفحات كوچك ، فشرده و مناسب تر به نظر می آيد ولی همزمان با رشد كد و Html برای بسياری از پياده كنندگان راحت تر است كه با دو بخش فوق بطور جداگانه سروكار داشته باشند .

  •  در مدل code-behind با توجه به اين كه دقيقا" مشخص می گردد كه چه كلاسی ايجاد شده است و از چه namespace استفاده شده است ، شاهد شفافيت بيشتری در كد خواهيم بود.

  •  در مدل code-behind می توان اين امكان را در اختيار يك طراح وب قرار داد كه صرفا" بخش رابط كاربر را ايجاد و يا تصحيح نمايد ، بدون اين كه لازم باشد وی به كد برنامه دستيابی داشته باشد .

در بخش دوم به بررسی روش های ترجمه و مفهوم page class در ASP.NET 2.0 خواهيم پرداخت .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382