بررسی جايگاه فريمورک دات نت دررابطه با برنامه های وب New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 پنجشنبه  8  تير  1396  2017  Jun.  29   Thursday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 مبانی برنامه نويسی وب در دات نت ( بخش دوم )

 مديريت وب

11186

8

3

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

 

مبانی برنامه نويسی وب  در دات نت

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

فريمورک دات نت
ASP.NET يکی از بخش های مهم فريمورک دات نت می باشد . در اين رابطه لازم است به اين نکته دقت شود که ASP.NET ، صرفا" يک بخش از تمام پلات فرم  دات نت  است . آشنائی با ساير امکانات فريمورک دات نت، قطعا" در ايجاد برنامه های وب مفيد و باعث پيشگيری از انجام عملياتی خواهد شد که توسط فريمورک دات نت پياده سازی و بعنوان يک پتانسيل در دسترس پياده کنندگان می باشد. ( عدم انجام کارهای تکراری ) . فريمورک دات نت، پلات فرم جديد برنامه نويسی مايکروسافت بمنظور پياده سازی نرم افزارهای وب و ويندوز است . فريمورک دات نت از دو بخش عمده تشکيل شده است :

  • يک هسته ( موتور) اجرائی که CLR)Common Language Runtime) ناميده می شود.

  • يک کتابخانه کلاس که هسته توابع برنامه نويسی  (نظير توابع ارائه شده توسط Windows API )  را ارائه که می توان از آنان بمنظور پياده سازی برنامه های متفاوت استفاده نمود. در اين راستا ، توابع متفاوتی بمنظور پياده سازی  برنامه های وب (ASP.NET ) ، دستيابی به داده ( ADO.NET ) ، امنيت و مديريت راه دور ، ارائه گرديده است .

برنامه های دات نت همانند برنامه های سنتی ويندور اجراء نمی گردند. اين نوع از برنامه ها در مقابل ترجمه کدهای اجرائی نوشته شده به کد ذاتی مختص يک ماشين خاص ، به يک زبان ميانی و با نام MSIL)Microsoft intermediate Language) تبديل و در يک فايل با نام اسمبلی ( assembly ) ذخيره می گردند . در زمان اجراء ، اسمبلی به وضعيت نهائی خود توسط CLR ، ترجمه خواهد شد. CLR ، امکانات لازم در رابطه با مديريت حافظه ، بررسی امنيت نوع ها و ساير عمليات مورد يناز برنامه ها در زمان اجراء را ارائه می نمايد . شکل زير نحوه انجام عمليات فوق را نشان می دهد .

برنامه هائی که با نظارت و مديريت  CLR اجراء می گردند را managed code می گويند ( کد اداره شده ) ، چراکه CLR مراقبت های لازم در خصوص تعداد زيادی از فعاليت ها ئی که ممکن است راسا" از طريق کدهای نوشته شده در برنامه صورت پذيرد را انجام خواهد داد . کد اداره شده ، مسائل برنامه نويسی ويندوزنظير ريجستر نمودن عناصر و وجود  نسخه های متقاوت (  DLL hell ) را برطرف می نمايد ، چراکه اسمبلی شامل تمامی نسخه های متفاوت و اطلاعات مربوط نوع های متفاوتی بوده که CLR بمنظور اجراء برنامه به آنان نياز خواهد داشت . CLR ، مسئله ريجستر نمودن را در زمان اجراء و بصورت پويا انجام خواهد داد( در گذشته،ريجستر نمودن عناصر در ريجستری سيستم بکمک برنامه و يا از طريق عناصر  COM:Componenet Object Model، انجام می گرديد) . 
کتابخانه کلاس دات نت ، امکان دستيابی به تمامی پتانسيل های CLR را فراهم می نمايد . کتابخانه کلاس دات نت،  درون مجموعه ای از namespace ها ، سازماندهی شده است . هر namespace شامل گروهی از کلاس های مرتبط است . جدول زير، برخی از مجموعه های فوق را نشان می دهد .

ارائه دهنده کلاس هائی برای

namespace

گروه

تمامی نوع های داده متداول ،شامل رشته ها ، بردار ها و نوع های عددی . کلاس های فوق ، دارای متدهای لازم بمنظور تبديل نوع ها ، عمليات بر روی رشته ها و بردارها بمنظور عمليات رياضی و اعداد تصادفی می باشد .

System

 نوع های متداول

دستيابی به بانک های اطلاعاتی . کلاس فوق ، شامل متدهائی برای ارتباط به بانک های اطلاعاتی ،  اجرای دستورات ، بازيابی و تغيير داده می باشند.

System.Data
System.Data.Common, System.Data.OleDb, System.Data.SqlClient, System.Data.SqlTypes

دستيابی داده

اشکال زدائی و دنبال نمودن اجراء برنامه

System.Diagnostics اشکال زدائی

دستيابی به سيستم فايل . کلاس های فوق ، شامل متدهائی برای خواندن و نوشتن در فايل ها و آگاهی از مسير و نام فايل است .

System.IO,
System.IO.IsolatedStorage, System.DirectoryServices

دستيابی فايل

ارتباط بر روی اينترنت با استفاده از پروتکل های سطح پائين نظير TCP/IP . کلاس های فوق ، درموارديکه برنامه های Peer-To-Peer ايجاد می گردد ، استفاده می گردند.

System.Net,
System.Net.Sockets

ارتباطات شبکه ای

ارائه امکانات لازم در خصوص معتبر سازی کاربر ، تائيد کاربر و رمزنگاری داده

System.Security, System.Security.Cryptography, System.Security.Permissions, System.Security.Policy, System.Web.Security

امنيت

ايجاد برنامه های سرويس گيرنده - سرويس دهنده که بر روی اينترنت اجراء می گردند. کلاس های فوق ، بمنزله هسته اساسی کلاس های مورد نظر بمنطور ايجاد برنامه های وب ASP.NET می باشند .

System.Web.Hosting,
System.Web.Mail, System.Web.SessionState, System.Web.UI,
System.Web.UI.Design, System.Web.UI.WebControls, System.Web.UI.HtmlControls

برنامه های وب

ايجاد و نشر عناصری که می توانند بر روی اينترنت استفاده گردند . کلاس های فوق ، بمنزله کلاس های پايه  بمنظور ايجاد سرويس های وب ASP.NET می باشند .

System.Web.Services, System.Web.Services.Configuration, System.Web.Services.Description, System.Web.Services.Discovery, System.Web.Services.Protocols

سرويس های وب

ايجاد برنامه هائی که از عناصر رابط کاربر ويندوز استفاده می نمايند . کلاس های فوق ، فرم های ويندوز و کنترل های لازم و قابليت ايجاد کنترل های سفارشی را ارائه می نمايند.

System.Windows.Forms, System.Windows.Forms.Design

 برنامه های ويندوز

ايجاد و دستيابی به فايل های XML

System.Xml
System.Xml.Schema, System.Xml.Serialization, System.Xml.Xpath,
System.Xml.Xsl

داده XML

با توجه به اينکه سازماندهی namespace های دات نت بر اساس نوع عملکرد آنان ،  انجام شده است ، می توان از آنان بمنظور کمک در مکان يابی کلاس ها و اعضاء کلاس ارائه شده در ارتباط با  ويژگی های CLR ، استفاده بعمل آورد . مثلا" namespace با نام system يکی از متداولترين namespace مورد نظر در اين زمينه است ، چراکه شامل کلاس هائی برای تمامی نوع های داده پايه  است . هر مرتبه که يک متغيرعددی ، رشته و يا نوع بردار، تعريف می گردد از namespace فوق، استفاده می گردد . بدين ترتيب ، فريمورک دات نت متدهای از قبل ايجاد شده ای را بمنظور تبديل نوع های داده ، عمليات بر روی رشته ها و بردارها ، ارائه نمايد. مثلا" برنامه زير ، با استفاده از متدهای از قبل ساخته شده در ارتباط با کلاس های String و Array ،  يک ليست را مرتب می نمايد.

VB.NET

' Declare and initialize a string
Dim strFruit As String = "oranges apples peaches kumquats nectarines mangos"
' Declare an array.
Dim arrFruit As String()
' Place each word in an array element.
arrFruit = strFruit.Split(" ")
' Sort the array.
System.Array.Sort(arrFruit)
' Put the sorted data back in the string.
strFruit = String.Join(" ", arrFruit)

Visual C#

// Declare and initialize a string.
string strFruit = "oranges apples peaches kumquats nectarines mangos";
// Declare an array.string[ ] arrFruit;
// Place each word in an array element.
arrFruit = strFruit.Split(" ".ToCharArray());
// Sort the array.
System.Array.Sort(arrFruit);
// Put the sorted array back in the string.
strFruit = System.String.Join(" ", arrFruit);

تعداد زيادی از کلاس ها در namespace با نام System را می توان مستقيما" و بدون ايجاد يک نمونه شی از کلاس استفاده نمود. اين نوع کلاس ها ، اعضاء مشترک در ويژوال بيسيک دات نت و اعضاء ايستا در سی شارپ ناميده می شوند. اعضاء مشترک و يا ايستا قادر به فراخوانی از طريق نام  کلاس می باشند . Sysytem.Array.Sort در برنامه فوق ، نمونه ای در اين زمينه می باشد . يک نمونه مثال ديگر از يک کلاس با اعضاء مشترک و ايستا ، کلاس Math است .

VB.NET

' Get the area of a circle.
dblCircArea = System.Math.Pi * System.Math.Pow(intRadius, 2)

Visual C#

// Get the area of a circle.
dblCircArea = System.Math.PI * System.Math.Pow(intRadius, 2) ;

زبان های برنامه نويسی
ASP.NET و تمامی فريمورک دات نت مستقل از زبان برنامه نويسی است . بدين ترتيب ، می توان هر زبان برنامه نويسی را که يک کمپايلر سازگار با CLR را حمايت می نمايد ، انتخاب نمود. علاوه بر ارائه زبان های اختصاصی توسط مايکروسافت ، ساير توليد کنندگان امکانات لازم در خصوص استفاده از زبان های متفاوت برنامه نويسی ديگر نظير : Perl, Pascal, Eiffel, Cobol, Python, Smalltalk را فراهم نموده اند . VB.NET و #C دو زبان ارائه شده توسط مايکروسافت در دات نت می باشند که دارای قابليت های عملکردی يکسان بوده و می توان از آنان بمنظور ايجاد برنامه های وب ، استفاده نمود. تفاوت موجود بين زبان های فوق ، اغلب  به نوع گرامر آنان برمی گردد .
اکثر برنامه نويسان ، زبانی را انتخاب می نمايند که دارای سابقه آشنائی مطلوبی با آن  باشند . برنامه نويسان فعلی ويژوال بيسيک بمنظور پياده سازی برنامه های وب ، تمايل به استفاده از VB.NET و برنامه نويسان C و يا ++C  تمايل  به استفاده از ويژوال سی شارپ  دارند .اکثرعمليات مورد نظر در يک برنامه وب از طريق  بکارگيری کلاس های کتابخانه فريمورک دات نت ، انجام خواهد شد و اين بدان معنی است که کد نوشته شده VB.NET و سی شارپ  در اکثر موارد مشابه يکديگر خواهد بود.
جدول زير برخی از تفاوت های مشهود بينVB.NET و سی شارپ را نشان می دهد .

Feature

VB.NET

Visual C#

Case sensitive

Not case sensitive

response.write("Yo") OK

Case sensitive

response.write("Yo"); // Error! Response.Write("Yo"); // OK

Functional blocks

Use beginning and ending statements to declare functional blocks of code

Sub Show(strX as String)         Response.Write(strX)
End Sub

Use braces to declare functional blocks of code

void Show(string strX)
{
   Response.Write(strX);
}

Type
conversion

Implicit type conversions are permitted by default:

Dim X As Integer
X = 3.14 OK

You can limit conversions by including an Option Strict On statement at the beginning of modules.
 

Implicit type conversions are limited to operations that are guaranteed not to lose information, such as converting from int to float:

int X = 0;
float Y = X; // OK

Other type conversions are performed explicitly by casts:

Y = 3.14F;
X = (int)Y; //Cast, OK.

Or, by using type conversion methods:

string Z;
Z = Y.ToString();

Comments

Comments always start with an apostrophe ():

' This is a comment.
 

There are three different types of comments: block (/* */),
 inline (//),
documentation (///):

/* Block comments canspan lines or be usedto comment out code. */
 // Inline comments appear
// to the right of code.
/// <summary>Description
/// of class.</summary>

Arrays

Array elements are specified using
parentheses:


arrFruit(1) = "Apple"
 

Array elements are specified using square brackets:

arrFruit[1] = "Apple";
 

Methods

You can omit parentheses after method names if arguments are omitted:

strX = objX.ToString

You must include parentheses after all methods:

strX = objX.ToString();

Statement termination

Statements are terminated by carriage return:

Response.Write("Hello")

Statements are terminated by the semicolon (;):

Response.Write("Hello");

Statement continuation

Statements are continued using the underscore (_):

intX = System.Math.PI * _ intRadius

Statements continue until the semicolon (;) and can span multiple lines if needed:

intX = System.Math.PI *
intRadius;

String operator

Use the ampersand (&) or plus sign (+) to join strings:

strFruit = "Apples" & _ " Oranges"

Use the plus sign (+) to join strings:

strFruit = "Apples" + " Oranges";

Comparison operators

Use =, >, <, >=, <=, <> to compare values:

If intX >= 5 Then

Use ==, >, <, >=, <=, != to compare values:

if (intX >= 5)

Negation

Use the Not keyword to express logical negation:

If Not IsPostBack Then

Use the ! operator to express logical negation:

if (!IsPostBack)

Object comparison

Use the Is keyword to compare object variables:

If objX Is objY Then

Use == to compare object variables:

if (objX == objY)

Object existence

Use the Nothing keyword or the IsNothing function to check whether an object exists:

If IsNothing(objX) Then

Use the null keyword to check whether an object exists:

if (objX == null)
 

در بخش سوم اين مقاله با امکانات ويژوال استوديو دات نت در رابطه با برنامه نويسی وب در دات نت آشنا خواهيم شد .



جستجو

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


 

 

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



              

 

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