فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

ایجاد یک برنامه وب نمونه در دات نت

اختصاصی از فایلکو ایجاد یک برنامه وب نمونه در دات نت دانلود با لینک مستقیم و پر سرعت .

  • ( بخش اول )
    تاکنون مقالات متعددی در رابطه با دات نت و برنامه نویسی وب بر روی سایت منتشر شده است و شاید این سوال برای بسیاری از خوانندگان مطرح شده باشد که ارتباط این مطالب با یکدیگر چیست و چگونه می توان آنان را با یکدیگر مرتبط و از مطالب ارائه شده در جهت ایجاد یک برنامه وب استفاده نمود؟. در مجموعه مقالاتی که بدین منظور آماده و بر روی سایت منتشر خواهد شد ، سعی می گردد به سوالات فوق ، پاسخ داده و با استفاده از مطالب ارائه شده و تلفیق آنان با یکدیگر، به صورت کاملا" عملی و هدفمند با نحوه ایجاد یک برنامه وب ، آشنا شویم .
    برای استفاده مطلوب از این مقاله ، مطالعه مقالات زیر پیشنهاد می گردد :
    • محموعه مقالات مبانی برنامه نویسی وب در دات نت
    • ایجاد یک برنامه وب در دات نت
    • رویدادها در برنامه های وب دات نت
    • مجموعه مقالات فرم های وب
    • مجموعه مقالات دستیابی به داده ها در دات نت
    • دستیابی به داده ها در فرم های وب
    • مجموعه مقالات ارتباط به منابع داده در ADO.NET
    • مجموعه مقالات ذخیره وبازیابی داده توسط ADO.NET
    • مجموعه مقالات امنیت برنامه های وب
    • بررسی اعتبار داده ها توسط VB.NET در فرم های وب
    • راهکارهای مدیریت وضعیت صفحات ASP.NET
    در ابتدا لازم است یک مسئله را تعریف و در ادامه مراحل لازم برای حل آن را دنبال نمائیم :
    • مسئله : ایجاد یک برنامه وب در دات نت ( سیستم مقالات )
    • توضیحات : در این برنامه کاربران در ابتدا از طریق یک فرم Login تائید و پس از تائید آنان توسط برنامه ، امکان استفاده از پتانسیل های برنامه (مشاهده لیست مقالات و انجام ویرایش های لازم در رابطه با یک مقاله ) در اختیار آنان قرار خواهد گرفت
    • مراحل حل مسئله : جدول زیر فازهای متفاوت حل مسئله به همراه مراحلی که می بایست در هر فاز دنبال شود را نشان می دهد :
    مراحل لازم برای تکمیل فاز فاز
    • مرحله اول : ایجاد و ذخیره سازی یک برنامه وب ASP.NET
    • مرحله دوم : ایجاد یک فرم وب
    فاز اول : آشنائی با برنامه های وب دات نت
    • مرحله اول : افزودن کنترل های سرویس دهنده به فرم وب
    • مرحله دوم : آنالیز کدهای HTML تولید شده
    • مرحله سوم : بررسی صحت واعتبار داده ها و ارائه پیام خطاء
    • مرحله چهارم : افزودن اسکریپت
    • مرحله پنجم : نوشتن کد لازم در فایل Code Behind فاز دوم : استفاده از کنترل ها
    • مرحله اول :فعال نمودن امکان دیباگ در برنامه های وب
    • مرحله دوم : تنظیم Break point
    • مرحله سوم : اشکال زدائی هوشمند
    • مرحله چهارم : استفاده از Debug.write فاز سوم : اشکال زدائی برنامه
    • مرحله اول : مدیریت وضعیت برنامه سمت سرویس گیرنده
    • مرحله دوم : مدیریت وضعیت برنامه سمت سرویس دهنده فاز چهارم : مدیریت وضعیت برنامه
    • مرحله اول : استفاده از کلاس SqlConnection
    • مرحله دوم : نمایش داده در DataGrid
    • مرحله سوم : Paging و مرتب سازی DataGrid
    • مرحله چهارم : دستورات ویرایش ، بهنگام سازی و ... فاز پنجم : دستیابی به داده در فرم های وب
    • مرحله اول : بکارگیری از طریق امکانات ویژوال استودیودات نت فاز ششم : بکارگیری برنامه وب
    خلاصه و نتایج
    فاز اول : آشنائی با برنامه های وب دات نت
    در این فاز با نحوه ایجاد یک برنامه وب و اضافه نمودن یک فرم وب ( صفحه Login ) ، آشنا خواهیم شد.
    مرحله اول : ایجاد و ذخیره سازی یک برنامه وب ASP.NET : در این مرحله ، یک برنامه وب خالی ( ساختار پیش فرض ) ، ایجاد می گردد . برای ایجاد یک پروژه جدید وب با نام SrcoTest1 ، مراحل زیر را دنبال می نمائیم :
    • اجرای برنامه ویژوال استودیو
    • انتخاب File|New|Project و یا فشردن کلیدهای CTRL+SHIFT+N
    • انتخاب نوع پروژه Visual Basic Projects از طریق جعبه محاوره ای New Project
    • انتخاب ASP.NET Web Application ،از طریق تمپلیت های ارائه شده
    • درج آدرس http://localhost/SrcoTest1 در فیلد Location ( نام در نظر گرفته شده برای پروژه ، اختیاری است ) .
    • تائید عملیات با فشردن دکمه OK

     این مقاله همراه با عکس است

    فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

    تعداد صفحات این مقاله  84  صفحه

    پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید

     

     

     


دانلود با لینک مستقیم


ایجاد یک برنامه وب نمونه در دات نت

پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)

اختصاصی از فایلکو پایان نامه رشته کامپیوتر با موضوع دات نت (NET.) دانلود با لینک مستقیم و پر سرعت .

 مقدمه:

وب یکی از مهمترین و در عین حال جوانترین سرویس اینترنت است، که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده‌ای در حیات بشریت باشد. در گذشته از وب صرفاً به منظور عرضه اطلاعات استفاده می‌گردید و کاربران از آن به عنوان کتابخانه‌ الکترونیکی بزرگ در جهت یافتن اطلاعات مورد نیاز خود استفاده می‌کردند. نرم افزار و دنیای برنامه نویسی یکی از عرصه‌هایی است که بدون شک بیشترین تأثیر را از اینترنت پذیرا بوده است. شرکت‌های عظیم نرم افزاری با لحاظ نمودن جایگاه برجسته اینترنت، اقدام به ارائه تکنولوژی‌ها و معماری‌های متفاوتی در جهت طراحی و پیاده سازی برنامه‌های کامپیوتری با بهره‌گیر از اینترنت نموده‌اند. یکی از تکنولوژی‌های طراحی شده در این زمینه تکنولوژی ASP.NET می‌باشد. در این پروژه سعی شده است که شناختی کافی در زمینه ASP.NET (.NET ، ASP و ASP.NET‌ و … ) بدست آمده باشد.

1- آشنایی با دات نت (.NET)

چرا به دات نت احتیاج داریم؟

«آشنایی با دات نت و بررسی مشکلاتی که حل آنها سبب تولد دات نت گردید».

به طور معمول نسل‌های جدید زبان های برنامه نویسی به این دلیل متولد می شوند که زبانهای قدیمی تر دارای امکانات محدود بودند و یا قدرت استفاده از تکنولوژی‌های فعلی را به صورت مطلوب و ساده ندارند. مهمترین نیازی که به عنوان آخرین تکنولوژی وجود دارد، برنامه نویسی در محیط اینترنت است. اینترنت در مدت تقریبا 8 سال جای خود را به عنوان یکی از مهمترین وسایل ارتباطی برای کارهای روزمره و تجارت باز کرده است. سیستمهای برنامه نویسی قدیمی تر امکان برنامه نویسی برای اینترنت را فراهم کرده بودند اما هر کدام دارای اشکالات بزرگی هستند، برای مثال تکنولوژی Com اولین بار در ویندوز به کار گرفته شد. در سال 1970 نیز سیستم‌هایی برای Unix نوشته شده بودند، جاوا نیز در اصل برای ابزارهای الکترونیکی بود و نه برای اینترنت.

سپس برای اولین بار یک سیستم جامع برای برنامه نویسی تحت اینترنت ایجاد شد. این سیستم‌که .NET، نام داشت، از مراحل سطح پایین که به زبان ماشین می‌باشد تا بالاترین سطح که برنامه نویسی ویژوال آن می باشد، برای استفاده در اینترنت طراحی شده است البته NET فقط برای اینترنت نیست و با استفاده از آن می توان برنامه های کامل تحت Client نیز ایجاد کرد، اما بزرگترین مزیت آن در برابر سیستم‌های دیگر امکانات اینترنت آن است. برای این که از مزایای استفاده از NET را بهتر متوجه بشویم بهتر است در ابتدا معایب سیستم های پیشین را ذکر کنیم.

شرکت مایکروسافت تا قبل از سال 1995 به برنامه نویسی در محیط های Client و server پرداخت، اما از ان سال به بعد توجه بیشتری به مساله برنامه نویسی در اینترنت کرد.

مایکروسافت com و +com را ایجاد کرد و آن ها را در ویژوال استودیوی 6 به کار گرفت. در سال 1999 حدود 50 درصد از بزرگترین سایتهای تجارت الکترونیکی از محصولات مایکروسافت استفاده می کردند. اما هنوز هم مشکلاتی زیادی در سیستم‌های مایکروسافت وجود داشت که یکی از آنها دشواری نوشتن برنامه در اینترنت با محصولات مایکروسافت بود. شرکت مایکروسافت برای راحتی کار برنامه نویس‌ها ASP یا Active server page را ایجاد کرد. با این که این قدم بزرگ بود و کارها را بسیار ساده کرد ولی هنوز از برنامه نویسی شی گرا پشتیبانی نمی کرد. همچنین در ویژوال استودیوی 6 قسمتی برای Internet Application ایجاد شده بود و در آن امکان ساختن web class وجود داشت ولی هیچ وقت به عنوان یک ابزار کارآمد برای برنامه نویسی وب در نظر گرفته نشد.

مدل برنامه نویسی DNA

مایکروسافت یک مدل برنامه نویسی به نام Distributed internet Application دارد که برپایه برنامه نویسی n-tier و com بنا نهاده شده است. مدل DNA از سه بخش اساسی تشکیل شده است:

1-بخش اول به نام Presentation tire معروف است. در این بخش رابط تصویری کاربر وجود دارد و خود نیز به دو نوع Internet Browser و will 32 GUI تقسیم می‌شود که هر کدام مشکلات خاص خود را دارند. در مدلی که از win 32 GUI یا همان نرم افزارهای معمولی استفاده می‌شود دو مشکل بزرگ وجود داشت: دشواری بروز رسانی نرم افزار و دیگری DllHell که در ادامه توضیح داده خواهد شد. در نوع دوم مشکلاتی از این قبیل نبود. امکانات برنامه نویسی کافی در محیط مرورگر، نبود رابط قوی کاربر، نبودن مرورگرهای یکسان و … وجود دارد. همچنین همیشه یک اتصال به اینترنت یا اینترانت لازم است. در این نوع از برنامه نویسی می توان از Java Appletها یا Activex استفاده کرد ولی مرورگر باید امکان استفاده از آن را داشته باشد، مخصوصا هنگام استفاده از Activex که باید فقط از IE استفاده کرد.

2-بخش دوم که Middle tier نام دارد، مکانی است که اطلاعات و قوانین تجاری در آن وجود دارد، منظور از قوانین، متدها و اجزائی هستند که اعمال کاربران را کنترل می کنند. مهمترین و آسان ترین زبان برای نوشتن این اجزا از DNA ویژوال بیسیک است. برنامه نویسی که بخواهد در این رده برنامه بنویسد باید آشنایی کاملی با com و پروتکل های رایج داشته، همچنین باید مهارت کافی در استفاده از ADO و ADSL داشته باشد.

مشخص که یک اشتباه در این لایه باعث بروز خطا و نقص در کل سیستم می‌شود.

3-بخش سوم یا Data tier مکانی است که اطلاعات سازمان در آن ذخیره می‌شود معمولا در این قسمت از بانکهای اطلاعاتی پیشرفته رابطه‌ای مانند SQL server و Oracle استفاده می کنند.

 محدودیتهای Com

همان طور که دیدید مهمترین قسمت در DNA همان Com است که در جای جای آن استفاده می شود. که در این جا برخی معایب com را ذکر می کنیم:

DLL Hell: اگر کوچکترین تغییری در یک com ایجاد شود، دیگر برنامه‌هایی که از ورژن قبلی استفاده می کردند قادر به فعال ساختن نسخه جدید نیستند. هنگامی که در ویندوز، یک com نصب شود برایش در رجیستر یک GUID ثبت می‌شود که اطلاعات آن com را در خود ذخیره می کند. اگر یک برنامه از نسخه اول یک com استفاده کند و بعد از مدتی شما تغییراتی در نسخه اول بدهید و بخواهید آن را دوباره در سیستم نصب کنید ویندوز به شما پیغام خطا می‌دهد چون ورژن آن تکرار است، اگر هم آن را به ورژن دوم ارتقاء دهید. نرم افزار قبلی هنوز به دنبال نسخه اول می‌گردد، این امر باعث می‌شود که شما مجبور شوید یکبار دیگر کل برنامه را کامپایل کرده و در کامپیوترتان نصب کنید.

کمبود در وراثت: در نسخه های Com که در حال حاضر هستند چیزی به نام وراثتی که در C++ وجود دارد نمی‌باشد، بلکه وراثت تنها در واسط یک Com می‌باشد، استفاده از آن هم چندان کمکی به برنامه نویسی نمی‌کند. حل این مشکلات باعث تولد .NET گردید.

 دات نت برای شروع

از زمان معرفی دات نت توسط مایکروسافت در تابستان 2000، تعداد زیادی از علاقمندان به دنیای گسترده کامپیوتر خصوصا طراحی و پیاده سازی نرم افزار، همواره به این سئوال مواجه بودند که دات نت چیست و استفاده از آن چه دستاوردهایی را برای استفاده کنندگان به دنبال خواهد داشت؟ دات نت، پلات فرم مایکروسافت برای سرویس های وب Xml است.

به منظور شناخت تمامی ابعاد دات نت لازم است به موارد زیر توجه گردد:

  • دات نت پلات فرمی جدید به منظور پیاده سازی و به کارگیری برنامه‌های مدیریت یافته، شی‌گرا و پیشرفته است.
  • به منظور پیاده سازی برنامه های دات نت می توان از زبان های برنامه نویسی متفاوتی استفاده کرد (کد تولید شده توسط کامپایلر، Runtim دات نت خواهد بود).
  • دات نت، کتابخانه کلاس گسترده ای را ارائه می‌نماید.
  • دات نت، روشی جدید به منظور پیاده سازی برنامه تحت ویندوز (Desktop Application) را با استفاده از کلاس های فرم ویندوز، ارائه می نماید.
  • دات نت، امکان تشریح خودکار عناصر نرم افزاری را ارائه و حمایت می‌نماید.
  • دات نت، امکاناتی نظیر: ارتباط بین زبان‌ها، عناصر مستقل از زبان برنامه نویسی با قابلیت استفاده مجدد و توارث در بین زبانها را ارائه می‌نماید.
  • دات نت، روش جدیدی برای پیاده سازی برنامه های مبتنی بر مرورگر (برنامه‌های وب) را با استفاده از کلاس‌های ASP. NET ارائه می‌نماید.
  • کلاس‌های ADO.NET مربوط به دات نت، یک معماری جدید غیر متصل برای دستیابی به داده از طریق اینترنت را ارائه می نمایند.
  • دات نت، امکان ایجاد سرویس های وب XML مستقل از پلات فرم را با استفاده از استانداردهایی نظیر : SOAP و WSDL ارائه می نماید.
  • دات نت، یک معماری جدید برای پیاده سازی و به کارگیری اشیاء راه دور را ارائه می نماید.
  • دات نت، تکنولوژی های متعددی از ویندوز را حمایت می نماید.

 پیاده سازی در دات نت

برای پیاده کنندگان نرم افزار تحت ویندوز، دات نت امکانات متعددی را از ویژوال C++ تا ویژوال بیسیک ارائه می‌نماید. دات نت، مستقل از نوع زبان برنامه نویسی بوده و در این راستا کامپایلرهای متعددی برای چنین زبان طراحی و پیاده سازی شده و تمهیدات لازم در خصوص طراحی و پیاده سازی کامپایلرهای دیگر نیز انجام شده است. در حال حاضر از زبانهای Jscript و Visual Basic.NET و C# و Eiffel و Python و Per1 و CoBol و .NET و APL میتوان استفاده کرد. دات نت از زبانهای فوق مستقیما حمایت نمی‌نماید. در حقیقت دات نت صرفا قادر به درک یک زبان بیشتر نیست. زبان فوق IL (Microsoft Intermediate Language) نامیده می‌شود.

 

تعداد صفحات : 115

متن کامل را می توانید پس از پرداخت  دانلود نمائید


دانلود با لینک مستقیم


پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)

دانلود مقاله برنامه نویسی در دات نت

اختصاصی از فایلکو دانلود مقاله برنامه نویسی در دات نت دانلود با لینک مستقیم و پر سرعت .

 

 

دات نت محیطی جدید بمنظور طراحی، پیاده سازی و اجرای برنامه های کامپیوتری را در اختیار طراحان و پیاده کنندگان نرم افزار قرار می دهد. با استفاده از پلات فرم فوق ، می توان بسرعت اقدام به پیاده سازی نرم افزار نمود.
برنامه های تولیده شده ، امکان استفاده از پتانسیل های محیط
( Common Language Runtime CLR ) را خواهند داشت . آشنائی با مفاهیم اولیه برنامه نویسی در محیط فوق ، دارای اهمیت خاص خود بوده و سرعت در استفاده مطلوب از محیط فوق ، را بدنبال خواهد داشت . در مقالاتی که در این زمینه ارائه خواهد شد به بررسی مفاهیم اولیه برنامه نویسی محیط فوق ، خواهیم پرداخت . در این راستا ، در ابتدا با نحوه نوشتن یک برنامه آشنا و در ادامه به تشریح برخی از مفاهیم مهم در این زمینه ، خواهیم پرداخت .
نوشتن یک برنامه در فریمورک دات نت
تمامی زبانهای حمایت شده در دات نت ، از سیستم نوع یکسان ، کتابخانه کلا س فریمورک مشابه و CLR استفاده خواهند کرد . بدین ترتیب، تمامی برنامه های نوشته شده با یکی از زبانهای حمایت شده ، خصایص مشابهی را به اشتراک می گذارند. شاید مهمترین تفاوت قابل توجه در رابطه با زبان های برنامه نویسی حمایت شده در دات نت ، به گرامر هر یک از آنها برگردد . ( در مثال هائی که در این مقاله ذکر می گردد ، از ویرایشگر Notepad ،در مقابل ویژوال استودیو دات نت، استفاده شده است . مثال های ارائه شده به اندازه کافی ساده بوده تا بتوان بکمک آنان با فرآیندهای ترجمه و اجراء ، بسرعت آشنا گردید ).
نوشتن یک برنامه
برای نوشتن یک برنامه ساده در دات نت ، مراحل زیر را دنبال می نمائیم :
• فاز اول : ایجاد برنامه
برنامه Notepad را فعال و پس از درج کدهای زیر آن را با نام Hello.vb ، ذخیره نمائید .
یک برنامه نمونه نوشته شده به زبان VB.NET
Imports System
Public Class MainApp
Public Shared Sub Main( )
Console.WriteLine( "Welcome to .NET Programming " )
End Sub
End Class
• فاز دوم : ترجمه و ایجاد یک فایل اجرائی
برای اجراء برنامه ایجاد شده در مرحله قبل ، در ابتدا کمپایلر VB.NET را از طریق خط دستور و بصورت زیر فعال می نمائیم : ( دستور فوق را می توان از طریق خط دستور ویندوز و یا خط دستور موجود در ویژوال استودیو ، فعال کرد )
vbc Hello.vb
در ادامه و پس از ایجاد فایل اجرائی (hello.exe ) ، امکان اجرای برنامه فراهم می گردد.

استفاده از Namespace
با استفاده از VB.NET ، می توان به کلاس ها مراجعه و از آنان استفاده کرد . در مثال زیر ، یک نمونه از کلاس System.Io.FileStream ، ایجاد شده است .
Dim aFileStream As System.IO.Filestream
مراجعه به Namespace های مورد نیاز در یک برنامه روشی مناسبتر در این زمینه است . با استفاده از namespace ، ضرورتی به توصیف تمامی مراجعات به کتابخاته کلاس ، وجود نخواهد داشت .
Imports System.IO
.....
Dim aFileStream As Filestream
مثلا" برای دستیابی به اشیاء System ، می بایست از Namespace با نام System در برنامه استفاده گردد. ( Imports) .
تعریف namespace و کلاس
VB.NET ، امکانات حمایتی لازم در خصوص ایجاد Namespace های خاص و کلاس های مربوط به آن را ارائه می نماید. (نکته : مدل زیر یک روش عمومی برای نامگذاری namespace است ) :

 

CompanyName.TechnologyName
.For Example:
Microsoft.Office
namespace در VB.NET
در VB.NET با استفاده از عبارت namespace می توان یک namespace را تعریف کرد . با استفاده از namespace تعریف شده ، امکان کپسوله نمودن کلاس های ایجاد شده ، فراهم خواهد شد.
Namespace CompVB
Public Class StringComponent
....
End Class
End Namespace
برخی از ویژگی های namespace عبارتند از :
• namespace می تواند درون سایر namespace ها ، مستقر گردند .
• یک namespace می تواند در چندین فایل تعریف گردد .
• یک فایل حاوی کد مبداء می تواند چندین namespace را تعریف نماید.
نقاط ورود ، حوزه ، تعاریف
هر برنامه اجرائی می بایست شامل یک نقطه ورود خارجی باشد . مکان فوق ، محلی را که برنامه اجرای خود را از آنجا آغاز می نماید ، مشخص می نماید..در VB.NET تمامی کد می بایست در متدهای یک کلاس قرار بگیرد.
نقاط ورود در VB.NET
بمنظور ارائه کد نقطه ورود در VB.NET ، در ابتدا می بایست یک ماژول و یا یک کلاس مشخص گردد .
Public Module modMain

 

Public Class clsMain
در ادامه می بایست نقطه ورود برای برنامه ، مشخص گردد. نقطه ورود ، می بایست بعنوان یک متد عمومی که main نامیده می شود ، در نظر گرفته شود.( کمپایلر به دانش فوق نیاز خواهد داشت ) . در یک کلاس ، متد فوق می بایست بصورت اشتراکی تعریف گردد .امکان تعریف متد فوق در یک ماژول بصورت اشتراکی ، وجود نخواهد داشت . نحوه تعریف ( مشخص نمودن ) نقاط ورود برای یک ماژول و یا یک کلاس ، بصورت زیر است :
Public Module modMain
Public Sub Main( )
...
End Sub
End Module

 

Public Class clsMain
Public Shared Sub Main( )
...
End Sub
End Class
حوزه
VB.NET ، از نقطه بعنوان یک عملگر resolution حوزه ، استفاده می نماید . مثلا" در صورت استفاده از متد WriteLine مربوط به کلاس Console ، از گرامر Console.WriteLine ، استفاده می شود.
تعاریف
در VB.NET ، الزامی به تعریف یک متغیر قبل از استفاده از آن نمی باشد . پیشنهاد می گردد که در چنین مواردی متغیرها با صراحت تعریف گردند. در این راستا می توان از عبارت options ، استفاده کرد. بمنظور ایجاد نمونه ای از یک شی ، از New استفاده می گردد. مثال زیر ، نحوه تعریف یک شی از نوع Comp در namespace با نام Lib و با نام MyComp را نشان می دهد .
Dim myComp As New Lib.Comp( )
کنسول ورودی و خروجی
می توان از کلاس Console ، مربوط به CLR وابسته به System Namespace ، برای ورودی و خروجی هر نوع رشته و مقادیر عددی توسط متدهای Read , ReadLine و Write,WriteLine استفاده کرد . برنامه زیر، نحوه نمایش یک رشته در خروجی را نشان می دهد .
برنامه نمونه :
Imports System
Public Class MainApp
Public Shared Sub Main( )
Console.WriteLine( "Welcome to .NET Programming " )
End Sub
End Class
ترجمه و اجراء یک برنامه فریمورک دات نت
اکثر جنبه های برنامه نویسی در دات نت برای تمامی زبانهای سازگار ، یکسان است . هر کمپایلر حمایت شده باعث تولید کدهای "خود تشریح " MSIL)Microsoft Intermediate Language) ، می گردد . تمامی کدهای مدیریت یافته ( Managed code ) با استفاده از CLR(Common Language runtime) ، اجراء خواهند شد . CLR ، امکان یکپارچگی بین برنامه ها ، مدیریت اتوماتیک حافظه ، برخورد یکدست با موارد خاص و استثناء ، امنیت پیشرفته و در نهایت یک مدل برنامه نویسی ساده و همگن را ارائه می نماید.
گزینه های کمپایلر
فریمورک دات نت، دارای یک کمپایلر خط دستوری برای VB.NET است ( vbc.exe ) . برای ترجمه برنامه Hello.vb ، بکمک کمپایلر فوق ، از دستور زیر استفاده می شود :
vbc Hello.vb
گرامر فوق، باعث فراخوانی کمپایلر VB.NET می گردد. در این مثال خاص، صرفا" نام فایل مورد نظر برای کمپایلر مشخص شده و در ادامه ، کمپایلر فایل اجرائی را تولید خواهد کرد ( Hello.exe )
گزینه های خط دستور
در VB.NET ، می توان لیست کاملی از گزینه های همراه کمپایلر را با استفاده از ?/ ، مشاهده نمود ( ?/ Vbc ) . از گزینه های مفید در این زمینه، می توان به سوئیچ out/ ، ( نام فایل خروجی را مشخص می نماید) و سوئیچ target/ ، ( نوع کد مقصد را مشخص می نماید") ، اشاره کرد. بصورت پیش فرض ، نام فایل خروجی مشابه نام فایل ورودی و با انشعاب exe . ، خواهد بود. مقدار پیش فرض برای تعیین نوع کد مقصد ، یک برنامه اجرائی است ( سوئیچ t/ ، دارای عملکردی معادل با سوئیچ target/ است ). دستور زیر نحوه استفاده از سوئیچ های فوق را نشان می دهد :
vbc /out :hello.exe /t:exe hello.vb
استفاده از گزینه کمپایل reference/
در زمان مراجعه به سایر اسمبلی ها ، می بایست از سوئیچ reference/ ، استفاده گردد . گزینه فوق این امکان را برای کمپایلر فراهم می آورد که اطلاعاتی را ایجاد و در کتابخانه های مشخص شده استقرار تا زمینه استفاده از آنان برای کد مورد نظر ( در حال ترجمه ) ، فراهم گردد. مثال زیر نحوه ایجاد یک برنامه اجرائی از طریق خط دستور و با استفاده از reference / ، را نشان می دهد .
( عملکرد سوئیچ r / مشابه reference / است ).
Vbc / r:assembll.dll , assemb2.dll / out :output.exe input.vb
در بخش دوم این مقاله به بررسی فرآیند اجراء مدیریت یافته ( اداره شده ) ، خواهیم پرداخت .
مفاهیم اولیه برنامه نویسی در دات نت ( بخش دوم )
در بخش اول این مقاله به بررسی یک برنامه نمونه ساده دات نت پرداخته شد و از این رهگذر با برخی مفاهیم اولیه و در عین حال مهم برنامه نویسی در دات نت آشنا شدیم . در بخش دوم این مقاله به بررسی فرآیند اجراء پرداخته و بدنبال آن با برخی دیگر از مفاهیم اساسی برنامه نویسی در دات نت آشنا خواهیم شد .
در فریمورک دات نت ، CLR زیر ساخت لازم برای یک محیط اجراء مدیریت یافته ( اداره شده ) را فراهم می نماید . در زمان پیاده سازی یک برنامه در فریمورک دات نت ، برنامه مورد نظر می تواند با استفاده از هر یک از زبان های سازگار با CLR ، نوشته گردد. کمپایلر استفاده شده ، کدها را به مقصد CLR ، ترجمه می نماید . پس از فرآیند ترجمه کد نوشته شده ، یک ماژول مدیریت یافته( اداره شده ) ایجاد خواهد شد. ماژول فوق، در فایلی که PE)Portable Executable) ، نامیده می شود، قرار گرفته و شامل اطلاعات زیر خواهد بود :
• MSIL)Microsoft Intermediate Language) ، کمپایلر کد نوشته شده را به MSIL ترجمه می نماید . کد فوق ، مجموعه ای از دستورالعمل های مستقل از نوع پردازنده بوده و در ادامه با توجه به نوع پردازشگر به کدهای مختص ماشین تبدیل می گردند.
• Type metadata .اطلاعات فوق ، نوع ها ، اعضاء و سایر مراجع استفاده شده توسط CLR در زمان اجراء را بطور کامل تشریح خواهد کرد.
• مجموعه ای از سایر منابع . منابع فوق ، شامل موارد متععدی نظیر فایل های Jpg . و یا Bmp . ، می باشند .
اگر در زمان استفاده از کمپایلر ویژوال بیسیک از سوئیچ target / ، استفاده و مقدار آن Exe و یا Library در نظر گرفته شود ، کمپایلر یک ماژول اجرائی را تولید که یک اسمبلی (Assembly ) خواهد بود. اسمبلی ها بخش ضروری و اساسی برنامه نویسی در فریمورک دات نت بوده و CLR از آنان بعنوان واحدهای پایه و بمنظور اشتراک ، بکارگیری امنیت و ورژن های متفاوت، استفاده می نماید. CLR دات نت ، صرفا" کدهای MSIL را که در یک اسمبلی موجود می باشند ، اجراء خواهد کرد . در صورتیکه بهمراه سوئیچ target / (در کمپایلر ویژوال بیسیک ) ، از Module استفاده شود ، کمپایلر یک ماژول مدیریت یافته را تولید که یک اسمبلی نخواهد بود .ماژول تولیده شده ، شامل یک مانیفست نبوده و نمی تواند توسط CLR ، اجراء گردد. یک ماژول مدیریت یافته را می توان به یک اسمبلی و از طریق استفاده از کمپایلر ویژوال بیسیک و یا با استفاده از Assembly Linker) Al.exe) اضافه نمود. در ادامه به تشریح MSIL ، متادیتا و اسمبلی خواهیم پرداخت .
کد اجرائی
در زمان اجرای یک برنامه مدیریت یافته ، لودر سیستم عامل ، CLR را در حافظه مستقر و در ادامه زمینه اجرای کد MSIL ماژول های مدیریت یافته ، فراهم می گردد. با توجه به اینکه پردازنده میزبان در مقطع کنونی ، قادر به اجرای مستقیم دستورالعمل های MSIL نخواهد بود، CLR ، می بایست در ابتدا دستورالعمل های MSIL را به کد مختص ماشین و با توجه به نوع پردازنده ، تبدیل نماید .
CLR ، تمام کدهای MSIL را به دستورالعمل های مستقل از پردازنده در زمان لود ، ترجمه نخواهد کرد . در مقابل، CLR در زمان فراخوانی هر یک از توابع ، دستورالعمل های مربوطه را به کد مختص پردازنده تبدیل خواهد کرد.MSIL ، صرفا" در زمان مورد نیاز، ترجمه خواهد شد . عناصر CLR که مسئولیت انجام عملیات فوق را برعهده دارند، کمپایلر JIT)Just in Time) ، نامیده می شود . ترجمه JIT ، باعث صرفه جوئی حافظه و زمان در حین مقداردهی اولیه برنامه می گردد .
Appliaction Domain
سیستم عامل و محیط های اجراء نوع های خاصی از ایزولاسیون ( تمایز) بین برنامه ها را ارائه می نمایند . با ارائه سرویس فوق ، این اطمینان بوجود خواهد آمد که یک برنامه در حال اجراء قادر به تاثیر منفی بر سایر برنامه ها ی غیر مرتبط ، نخواهد بود . ویژگی فوق ، یک واحد ایمن و چندکاره پردازش را ارائه نموده و CLR بر اساس آن قادر به ایزولاسیون بین برنامه ها خواهد بود. حوزه های برنامه ، عموما" توسط میزبانان زمان اجراء که مسئولیت فعال نمودن CLR قبل از اجرای برنامه ها را برعهده دارند ، فراهم می گردد.
متادیتا
هر کمپایلر که مقصد آن CLR است ، نیازمند توزیع ( انتشار) کامل متادیتا در هر یک از ماژول های مدیریت یافته است .متا دیتا ، مجموعه ای از جداول داده بوده که بصورت کامل هر یک از عناصر تعریف شده در یک ماژول را تشریح می نماید .اطلاعات فوق ، شامل نوع داده ، اعضاء بهمراه تعاریف مربوطه ، پیاده سازی و مراجعه به سایر نوع ها و اعضاء باشد . متادیتا ، تمامی اطلاعات موردنیازبرای ارتباط عناصر نرم افزاری تولیده شده را در اختیار CLR قرار خواهد داد .رویکرد فوق ، جایگزینی مناسب برای تمامی تکنولوژی های قدیمی نظیر: IDL)Interface Defination Language) ، کتابخانه های نوع و ثبت خارجی ( External registration ) ، می باشد. متا دیتا همواره در یک فایل exe . و یا dll . ، حضور داشته و شامل کد MSIL است . بنابراین ، امکان تفکیک متادیتا از کد MSIL وجود نخواهد داشت .با توجه به اینکه متادیتا در یک مستقل از یک زبان برنامه نویسی خاص بوده و در یک محل مرکزی نظیر ریجستری ویندوز ذخیره نمی شوند ، امکان تشریح اتوماتیک برنامه های دات نت ، فراهم می گردد.
متادیتا دارای کاربردهای متعددی است که مهمترین آنها عبارتند از :
• مکان یابی و لود کلاس ها . با توجه به اینکه متا دیتا و MSIL در یک فایل مشابه قرار دارند ، تمام اطلاعات موجود در این فایل برای CLR ، در زمان ترجمه قابل استفاده بوده و ضرورتی به استفاده از فایل های هدر(header) وجود نخواهد داشت ( تمام نوع ها در هر اسمبلی توسط مانیفست مربوطه اسمبلی ، تشریح می گردند ).
• تاکید امنیت . متا دیتا ، می تواند شامل مجوزهای لازم بمنظور اجراء کد باشد ( البته عکس عبارت فوق نیز ممکن است وجود داشته باشد ، یعنی متا دیتا می تواند شامل مجوزهای لازم بمنظور اجراء کد نباشد ) . سیستم امنیتی از مجوزها استفاده تا باعث ممانعت کد از دستیابی به منابعی گردد که مجوز لازم برای دستیابی به آنان وجود ندارد
MSIL
MSIL مایکروسافت که در برخی حالات Managed code نامیده می شود ، دستورالعمل هایی می باشند کمپایلرآنها را در زمان ترجمه کد اولیه ، تولید می نماید. صرفنظر از سازماندهی منطقی آنان ، اکثر اسمبلی ها شامل کدهائی با فرمت MSIL می باشند . MSIL یک زبان ماشین مستقل از پردازنده بوده که توسط مایکروسافت و مشاوره با سایر تولیدکنندگان کمپایلر، ایجاد شده است . MSIL یک زبان بمراتب سطح بالاتر نسبت به اکثر زبان های ماشین است . MSIL شامل دستورالعمل های لازم برای عملیات متداولی نظیر : دستوراتی برای ایجاد ، مقداردهی و صدا زدن متدهای مربوط به یک شی ( اشیاء ) ، دستورات لازم برای عملیات منطقی جاری ، Control Flow ,DMA و Exception handling می باشد .
قبل از اینکه کد MSIL قادر به اجراء گردد ، می بایست به کد مختص یک پردازنده خاص توسط یک کمپایلر JIT ، تبدیل گردد. CLR ، یک کمپایلر JIT با معماری خاص برای هر نوع معماری پردازنده ، ارائه می نماید . کمپایلرهای JIT مبتنی بر یک معماری خاص ، امکان نوشتن کد مدیریت یافته را فراهم تا در ادامه و بکمک آن امکان ترجمه و تولید کد وابسته به یک معماری خاص فراهم و در نهایت زمینه اجراء کد نوشته شده ، فراهم گردد.(هر کد مدیریت یافته که API مختص یک سیستم عامل و یا کتابخانه ها را استفاده می نماید ، صرفا" قادر به اجراء بر روی سیستم های عامل خاصی خواهد بود ) .
اسمبلی ها
یکی دیگر از عملیاتی که CLR ، انجام می دهد لود و اجرای برنامه های دات نت است . برنامه های دات نت بعنوان اسمبلی بکار گرفته می شوند . اسمبلی شامل یک و یا چندین فایل EXE و یا DLL بهمراه اطلاعات متا دیتا است . متا دیتا مربوط به تمام اسمبلی در مانیفست اسمبلی ذخیره می گردد . CLR ، از اسمبلی بعنوان واحدهای عملیاتی جهت اشتراک و استفاده مجدد استفاده می نماید. یک اسمبلی ، واحد بکارگیری کلاس است ( در مقایسه با یک Dll منطقی ) هر اسمبلی شامل تمامی فایل های فیزیکی است که واحد اجرائی ( عملیاتی ) را تشکیل خواهد داد ( ماژول مدیریت یافته ، منابع ، فایل های داده ) . از لحاظ مفهومی ، اسمبلی ، روشی را بمنظور مشاهده مجموعه ای از فایل ها بعنوان یک موجودیت ، فراهم می نماید. استفاده از اسمبلی ها بمنظور ایجاد یک برنامه ، یک باید است . در این راستا می توان ، نحوه بسته بندی اسمبلی ها بمنظور استفاده را انتخاب کرد.
مانیفیست اسمبلی ( Assembly Manifest )
یک اسمبلی شامل بلاکی از داده ها است که "مانیفست " ، نامیده می شود . مانیفست ، جدولی است که هر entry آن نام یک فایل بوده و بعنوان بخشی از اسمبلی در نظر گرفته خواهد شد.مانیفست شامل متا دیتا ئی است که بمنظور مشخص نمودن ملزومات ورژن ، یکسان سازی امنیت ، و سایر اطلاعاتی مورد نیازی است که از آنان بمنظور تعریف حوزه اسمبلی و مراجع لازم بمنظور دستیابی و استفاده از منابع ها و کلاس ها ، استفاده می گردد. با توجه به اینکه متادیتا باعث می شود که یک اسمبلی دارای ویژگی خود تشریحی گردد ، CLR همواره دارای اطلاعات مورد نیاز در رابطه با اسمبلی بمنظور اجراء آن خواهد بود . تمامی برنامه ها که توسط CLR اجراء می گردند ، می بایست ترکیبی از یک و یا چندین اسمبلی باشند . تمام فایل هائی که یک اسمبلی را ایجاد می نمایند در مانیفست اسمبلی لیست می گردند . مانیفست ، قادر به ذخیره شدن در یک و یا چندین فایل است:
• اسمبلی های تک فایل ( Single-file) . اگر اسمبلی صرفا" دارای یک فایل مرتبط باشد ، مانیفست همرا ه و مرتبط با فایل PE ، خواهد بود .
• اسمبلی های چند فایل ( Multi-file ) ، اگر اسمبلی دارای بیش از یک فایل مرتبط باشد ، مانیفست می تواند بصورت یک فایل stand alone بوده و یا در یکی از فایل های PE در اسمبلی مستقر گردد.
ابزارهای CLR
CLR ، در رابطه با تست و اشکال زدائی کد MSIL دو ابزار را ارائه می نماید:
• اسمبلر MSIL . اسمبلر MSIL ( فایل ILasm.exe ) کد MSIL را بعنوان ورودی اخذ و یک فایل PE شامل نمایش باینری کد MSIL بهمراه متا دیتا مورد نیاز را تولید می نماید . گرامر استفاده بصورت زیر است:
ILasm [options] filename [options]
• برنامه MSIL Disassembler . با استفاده از برنامه فوق ( فایل ILdasm.exe ) می توان بررسی لازم در خصوص متدیتا و کد disassembled هر یک از ماژول های مدیریت یافته را انجام داد .
استفاده از برنامه ILdasm.exe
برنامه ILDASM ، قادر به نمایش متادیتا و دستورالعمل های MSIL مرتبط با کد دات نت است . ابزار فوق ، بمنظور اشکال زدائی و افزایش شناخت شما نسبت به زیر ساخت دات نت بسیار مفید است . برنامه زیر ، کد نوشته شده به زبان ویژوال بیسیک را بمنظور نمایش یک عبارت ساده در خروجی نشان می دهد .
یک برنامه نمونه نوشته شده به زبان VB.NET
Imports System
Public Class MainApp
Public Shared Sub Main( )
Console.WriteLine( "Welcome to .NET Programming " )
End Sub
End Class
برای ترجمه برنامه فوق و با استفاده از کمپایلر ویژوال بیسیک ، دستور زیر را وارد می نمائیم :
> VBC Welcome.VB
پس از اجرای دستور فوق ، فایل Welcome.exe تولید می گردد .
• مرحله اول : در برنامه ویژوال استودیو دات نت و از طریق خط دستور برنامه Welcome.exe را فعال می نمائیم :( ildasm Welcome.exe ) . پس از باز نمودن آیکون MainApp ، رابط کاربر گرافیکی Disassembler اطلاعاتی را در رابطه با فایل Welcome.exe نمایش خواهد داد.

• مرحله دوم : نمایش محتویات مانیفست . بر روی MANIFEST کلیک نموده و در ادامه شاهد نمایش پنجره MANIFEST خواهیم بود.

در بخش سوم این مقاله به بررسی کمپایلر JIT و سایر موارد در ارتباط با برنامه نویسی دات نت ، خواهیم پرداخت .
مبانی دا ت نت ( بخش اول )
دات نت ، پلات فرم جدید ماکروسافت بمنظور تحقق نظریه : " نرم افزار بعنوان سرویس " ، است . دات نت یک محیط پیاده سازی است که بکمک آن می توان اقدام به ایجاد و بکارگیری نرم افزار و نسل جدیدی از عناصر موسوم به " سرویس های وب " ، نمود. تمامی محصولات اصلی ماکروسافت از ویژوال استودیو دات نت تا ویندوز و نهایتا" مجموعه آفیس ، متاثر از پلات فرم فوق شده و خواهند شد . دات نت به پیاده کنندگان این امکان را خواهد داد که با زبان برنامه نویسی مورد علاقه خود ، اقدام به پیاده سازی برنامه ها نمایند. ویژگی ( پتانسیل ) فوق از طریق معرفی CLR)Common Language Runtime )، میسر شده است . در این مقاله قصد داریم به بررسی دات نت پرداخته و پتانسیل ها و قابلیت های آن را تشریح نمائیم .
در جولای سال 2000 ، شرکت ماکروسافت در کنفرانس پیاده کنندگان حرفه ای (PDC ) ، در شهر Orlando ایالت کالیفرنیا ، جزئیات بیشتری از نسل جدید پلات فرم خود ( دات نت ) بمنظور پیاده سازی برنامه های ویندوز و اینترنت را در اختیار علاقه مندان خصوصا" پیاده کنندگان نرم افزار قرار داد . محوریت ابتکار فوق ، بر فریمورک دات نت استواربوده ونشاندهنده یک پلات فرم مناسب بهمراه کتابخانه های کلاس گسترده ای است که پتانسیل های متعددی را در اختیار قرار می دهد. یکی از نکات قابل توجه در پلات فرم فوق،استفاده از XML و SOAP بمنظور ارتباط بین نرم افزارها ی موجود در اینترنت ( نرم افزارهای مبتنی بر وب ) ، است . در این راستا مجموعه ای از محصولات مبتنی بر سرویس دهنده با نام سرویس دهندگان Enterprise دات نت، مطرح که بمنزله نسل جدیدی از محصولات Backoffice ماکروسافت ، می باشند.
فریمورک دات نت ، مدلی کاملا" جدید بمنظور برنامه نویسی و بکارگیری نرم افزار را ارائه نموده است. "بیل گیتس "، در سخنرانی خود در PDC ، بدین نکته اشاره داشتند که در هر پنج تا شش سال ما شاهد یک تحول عمده در رابطه با پیاده سازی نرم افزار بوده ایم . آخرین موارد در این زمینه به سوئیچ از DOS به ویندوز در سال 1990 و گذر از پیاده سازی شانزده بیتی به سی و دو بیتی ( از ویندوز widows 3.x به ویندوز NT/95 ) در اواسط دهه 90 میلادی ، است.
با معرفی دات نت در PDC ، پیاده کنندگان آن را معماری مناسبی برای پیاده سازی نرم افزار ( برنامه های Desktop و برنامه های وب ) مشاهده نمودند . ویژوال استودیو دات نت ، اولین محصول مبتنی بر دات نت ماکروسافت بوده که در سال 2001 در اختیار علاقه مندان قرار گرفت . اهمیـت دات نت برای ماکروسافت تا بدین حد است که در سال 2001 ، بیش از هشتاد درصد منابع بخش تحقیق و توسعه این شرکت در رابطه با آن صرف شده است . زبان سی شارپ ، که زبانی جدید برای برنامه نویسی در دات نت است بعنوان زبان استاندارد برای پیاده سازی داخلی در شرکت ماکروسافت پذیرفته شده است .
یک پلات فرم مناسب برای آینده
دات نت، اولین پلات فرم طراحی شده از صدر تا ذیل با در نظر گرفتن واقعیتی با نام اینترنت است . دات نت از یک ماشین مجازی خاص در این زمینه استفاده می نماید . ماهیت ماشین مجازی فوق ، بگونه ای است که از API ویندوز فاصله و در این رابطه از یک کتابخانه کلاس استفاده می نماید که می توان به جرات این ادعا را داشت که تاکنون نظیر آن ، ایجاد نشده است . امکان استفاده از زبانهای متعدد برنامه نویسی ، وجود خواهد داشت .معماری دات نت ، امکان ارتباط بین زبانها را بسادگی فراهم خواهد کرد .دات نت ، یک رویکرد جدید در رابطه با پیاده سازی نر م افزار را مطرح نموده است . نگاه به دات نت ، عمدتا" بصورت سیستم های توزیع شده است. با استفاده از XML ،امکان اجرای توابع بر روی کامپیوترهای متفاوت یک سازمان ویا جهان فراهم و جلوه ای زیبا در همیاری بمنظور اجرای یک برنامه ، به نمایش در خواهد آمد. از این منظر ، سیستم ها از سرویس دهندگان تا سیستم های بدون کابل ، قادر به اشتراک پلات فرم عمومی یکسانی خواهند بود . با استفاده از نسخه های دات نت که برای تمام آنها در دسترس خواهد بود، امکان ارتباط مناسب آنها با یکدیگر فراهم خواهد شد. دات نت ، بمنظور طراحی و پیاده سازی برنامه های سنتی نیز راهکارها و امکانات مناسبی را ارائه تا از این طریق امکان پیاده سازی و بکارگیری این نوع از نرم افزارها ، بسادگی انجام گیرد . برخی از تکنولوژی ها ی ارائه شده در دات نت نظیر فرم های ویندوز، تلاشی در این راستا است .
ایده های اولیه
از اواخر سال 1995 ، شرکت ماکروسافت توجهی خاص و قابل توجه نسبت به اینترنت نمود . هدف ماکروسافت در این زمینه پیوند بین پلات فرم ویندوز و اینترنت بود. ماحصل تلاش ماکروسافت در این زمینه ارائه مدل برنامه نویسی Windiws DNA ، بود . در این راستا مجموعه ای از ابزارها و تکنولوژی های مبتنی بر اینترنت ، طراحی و ارائه گردید . ASP ، از اولین تلا ش های ماکروسافت در این زمینه است . عملا" در این زمینه ( مطرح شدن اسکریپت ها ی مفسری ) یک برگشت به عقب نسبت به پیاده سازی ساختیافته و شی گراء را شاهد بوده ایم . طراحی ، اشکال زدائی و نگهداری چنین کدهای غیر ساختیافته ای مسائل خاص خود را خواهد داشت . سایر زبانها نظیر ویژوال بیسیک بصورت موفقیت آمیز در رابطه با برنامه نویسی بر روی اینترنت و پلات فرم ماکروسافت استفاده می گردید ولی اغلب از آن بمنظور ایجاد عناصری که از طریق ASP ، بخدمت گرفته می شدند ، استفاده می گردید .در این رابطه تلاش های اندکی نیز در جهت ایجاد یک اینترفیس مبتنی بر وب بر روی زبان های سنتی نظیر webclasses در VB ، نیز انجام شد ولی هیچکدام از تلاش های فوق ، در سطح گسترده ای مورد استقبال و پذیرش قرار نگرفت . ماکروسافت در صدد حل آشفتگی های همراه برنامه های ویندوز DNA بود . ویندوز DNA ، تصویری مناسب از یک معماری Three-Tire و مبتنی بر COM بود که تکنولوژی ASP در لایه Presentation ، اشیاء Bussiness در لایه میانی و یک engine بانک اطلاعاتی رابطه ای در لایه Data ، قرار می گرفت . مفاهیم همراه DNA ،کامل و بی عیب بود اما در زمان استفاده عملیاتی چالش های خاص خود را بدنبال داشت . پیاده سازی عناصر COM ، مستلزم یک سطح مناسب از دانش و مهارت است و می بایست زمان زیادی در این رابطه صرف گردد . بکارگیری نرم افزارهای DNA ، نیز مسائل خاص خود را داشت ( مسائل مربوط به ورژن ، نصب عناصر و عناصری که با آن مرتبط می باشند ) .
بموازات تلاش سایر شرکت ها در رابطه با ارائه راهکارهائی خاص بمنظور پیاده سازی برنامه ها ی وب ، شرکت ماکروسافت در صدد برطرف نمودن محدودیت های مدل برنامه نویسی DNA گردید.
تولد دات نت
در اوایل سال 1998 ، گروهی از پیاده کنندگان نرم افزار در ماکروسافت ، کار خود را بر روی نسخه ای جدید از IIS ( نسخه چهار) ، به اتمام رساندند که دارای چندین ویژگی جدید در رابطه با ASP بود .در این راستا ، قابلیت های جدیدی بمنظور پیاده سازی برنامه های وب در ویندوز NT ، فراهم گردید.گروه پیاده کننده دارای ایده های متعددی برای اعمال اصلاحات جدید بودند . گروه فوق ، کار خود را بر روی یک معماری جدید برای پیاده سازی ایده های مطرح شده ، آغاز نمود . این پروژه ، NGWS)Netx Generation Window Services) ، نامیده گردید. پس از ارائه ویژوال استودیو شش ، در اواخر سال 1998 ، تلاش برای ایجاد نسخه ای جدید از ویژوال استودیو در دستور NGWS ، قرار گرفت . گروه COM+/MTS در مدل پیشنهادی خود از یک Runtime ، عمومی برای تمامی زبانهای استفاده شده در ویژوال استودیو ، استفاده نمودند . تلاش افراد درگیر در پروژه NGWS ادامه تا در نهایـت ، شرکت ماکروسافت در کنفرانس پیاده کنندگان حرفه ای (PDC) ، دات نت را معرفی نمود.
مروری بر فریمورک دات نت
فریمورک دات نت ، تمامی لایه های پیاده سازی نرم افزار را از سطح سیستم عامل به بالا ، تحت پوشش قرار می دهد. فریمورک فوق، سطحی مناسب وقدرتمند از ارتباط و همبستگی بین تکنولوژی Presentation ، تکنولوژی های Component و تکنولوژی های Data را ارائه می نماید ( نظیر این ارتباط و همبستگی تاکنون در پلات فرم ویندوز مشاهده نشده است) . معماری فوق ، امکان طراحی و پیاده سازی برنامه های مبتنی بر اینترنت و محیط های Desktop ، را بسادگی فراهم و نیازهای هر گروه از نرم افزارهای فوق را بخوبی جواب می دهد . اجزای اصلی فریمورک دات نت در شکل زیر نشان داده شده است .

فریمورک دات نت از لایه پائین با عملیاتی نظیر مدیریت حافظه آغاز و بسمت بالا بمنظور ارائه اینترفیس های برنامه ها و کاربران ، دنبال می شود . در بین لایه ها ، لایه های سیستمی دیگر که هر یک دارای پتانسیل های خاصی برای پیاده کنندگان می باشند ، وجود دارد.
CLR) Common Language Runtime) ، بمنزله قلب فریمورک دات نت محسوب و engine لازم بمنظور ارائه قابلیت های کلیدی را ارائه می نماید . CLR ، شامل عناصر اساسی دیگری نظیر: (Common Type System (CTS ، است. علاوه بر مدیریت حافظه ، CLR ، مراجعات به اشیاء و عملیات Garbage Collection را نیز انجام می دهد .
در لایه میانی ، ما شاهد نسل جدیدی از سرویس های استاندارد نظیر ADO.NET و XML می باشیم .سرویس های فوق ، تحت کنترل فریمورک بوده و امکان بکارگیری آنها بصورت جامع و استاندارد در بین تمامی زبانها ، فراهم می گردد . بالاترین لایه ، شامل اینترفیس های برنامه و کاربر است . فرم های ویندوز ، روشی جدید بمنظور ایجاد برنامه های Desktop مبتنی بر win32 می باشند. فرم های وب ، یک رابط کاربر مناسب برای برنامه های مبتنی بر وب را ارائه می نمایند. سرویس های وب ، مکانیزمی بمنظور ارتباط برنامه ها از طریق اینترنت و با استفاده از SOAP ، می باشد. سرویس های وب ، قابل مقایسه با عناصر COM و DCOM بوده با این تفاوت مهم که در این راستا از تکنولوژی های متعدد اینترنت ، استفاده می گردد. فرم های وب و سرویس های وب ، اینترفیس اینترنت دات نت را تشکیل و پیاد ه سازی آنان از طریق بخش دیگری در فریمورک دات نت که ASP.NET ، نامیده می شود ، محقق می گردد .
پتانسیل های موجود در هر لایه فریمورک دات نت ، توسط هر یک از زبان های سازگار با دات نت ، قابل استفاده خواهد بود. در پایان لازم است به این نکته اشاره گردد که در این رابطه ( فریمورک دات نت ) می توان از اینترفیس های مبتنی بر متن ( کاراکتری) نیز استفاده کرد . این نوع برنامه ها اصطلاحا" Console Application ، نامیده می شوند .
دربخش دوم این مقاله به بررسی CLR و جایگاه آن در فریمورک دات نت، خواهیم پرداخت .
مبانی دا ت نت ( بخش دوم )
در بخش اول این مقاله به بررسی و معرفی فریمورک دانت پرداخته گردید. در این بخش به بررسی CLR ، یکی از مهمترین عناصر موجود در فریمورک دات نت خواهیم پرداخت .
درابتدا لازم است تعریفی از CLR را داشته باشیم. CLR ، محیطی است که برنامه های دات نت بکمک آن اجراء می گردند . برنامه های نوشته شده توسط هر یک از زبان های سازگار با دات نت پس از ترجمه توسط کمپایلر مربوطه به MSIL)Microsoft Intermediate language) ، ترجمه می گردند ( به زبان فوق ، IL نیز گفته می شود ) .
CLR از نمای نزدیک
Common Type System(CTS)
( Data Types ,...)
Intermediate Language(IL) to native code compilers Execution Support (traditional runtime functions) Security
Garbage Collection,Stack Walk ,Code manager
Class Loader and memory layout
هدف از طراحی CLR ، نیل به اهداف زیر بوده است :
• پیاده سازی سریع و آسان
• برخورد اتوماتیک با مقولاتی همچون مدیریت حافظه
• حمایت از ابزارهای متعدد
• قابلیت توسعه و گسترش متناسب با محیط بکارگیرنده
پیاده سازی سریع و آسان
یک فریمورک گسترده و یکپارچه، امکان نوشتن کد کمتر و با قابلیت استفاده مجدد را در اختیار پیاده کنندگان قرارخواهد داد . با توجه به اینکه سیستم ( CLR ) ، مجموعه ای از پتانسیل ها و قابلیت ها را ارائه می نماید ، حجم کد نوشته شده توسط برنامه نویسان ، کاهش پیدا خواهد کرد . برنامه ها در دات نت ، با استفاده از یک روش استاندارد و یکپارچه به پتانسیل های ارائه شده ، دستیابی پیدا می نمایند .
برخورد اتوماتیک با مقولاتی همچون مدیریت حافظه
در دات نت ، مجموعه ای گسترده از زیرساخت های برنامه نویسی بصورت اتوماتیک توسط CLR ارائه می گردد. مدیریت حافظه ، نمونه ای مناسب در این زمینه است . پیاده کنندگان نرم افزار بکمک ویژوال بیسیک در زمانی نه چندان دور همواره نگران مسئله مدیریت حافظه بودند . پیاده کنندگان ویژوال بیسیک اینک و با استفاده از CLR ، نگرانی خاصی در ارتباط با مدیریت حافظه ، نخواهند داشت. ( CLR ، دارای توابع متنوعی در رابطه با مدیریت حافظه است ) . برنامه نویسانی که از ++C در محیط دات نت استفاده می نمایند ، دیگر ضرورتی به استفاده از CoCreateInstance برای نمونه سازی یک کلاس و یا استفاده از malloc بمنظور اختصاص حافظه ، نخواهند بود. با بکارگیری امکانات CLR در ارتباط با مدیریت حافظه می توان با بخدمت گرفتن یک عبارت ساده خواسته خود را مشخص و CLR در زمان مورد نظر ، عملیات اختصاص حافظه را انجام خواهد داد . عملیاتی دیگر، نظیر جمع آوری اطلاعات زائد از حافظه ، از دیگر فرآیندهای ضروری و مهمی است که توسط CLR و در ارتباط با مدیریت حافظه انجام می گردد.
حمایت از ابزارها ی متعدد
همانگونه که احتمالا" حدس زده اید ، اغلب عملیاتی که CLR انجام می دهد، مشابه سیستم عامل است ،موضوع فوق هرگز بعنوان مهمترین رسالت CLR ذکر نمی گردد و می بایست با صراحت به این نکته ظریف اشاره گردد که هدف از طراحی CLR ، حمایت از پیاده سازی نرم افزار با استفاده از زبان های برنامه نویسی متفاوت است . CLR مجموعه قدرتمندی از مدل های اشیاء را ارائه که برای طراحان ، دیباگرها مفید و قابل استفاده ، خواهد بود. با توجه به اینکه مدل های شی ارائه شده ، مربوط به زمان اجراء می باشند ، امکان بکارگیری ابزارهای طراحی شده مبتنی بر مدل های ارائه شده ، در بین تمام زبانهائی که از CLR استفاده می نمایند .، میسر خواهد بود.
لازم است به این نکته نیز اشاره گردد که مایکروسافت محدودیتی را در ارتباط با CLR بمنظور استفاده از زبان های مایکروسافت ایجاد ننموده است . تولیدکنندگان زبان های برنامه نویسی دیگر با تغییر درمعماری زبان های خود ، امکان استفاده از CLR بهمراه مزایای متعدد آن را بدست خواهند آورد.در چنین مواردی ، علاوه بر بهره جستن از تمای قابلیت های CLR ، امکان ارتباط بین زبان ها نیز فراهم می گردد. CLR ، قادر به کار با چندین زبان برنامه نویسی متفاوت است . ویژگی فوق ، دارای مزایای مهم و گسترده ای برای پیاده کنندگان خواهد بود. اشکال زدائی یک برنامه ، نمونه ای مناسب در این زمینه است . CLR ، این امکان را فراهم می نماید که بتوان دیباگری را پیاده سازی و آن را در زبانهای مختلف بخدمت گرفت . رفتار و عملکرد دیباگر در تمامی زبانها مشابه و معادل خواهد بود ( پرش از یک زبان به زبان دیگر ) .
متا دیتا
متادیتا ، " داده ئی در رابطه با داده " بوده و می توان آن را بعنوان سطحی عمیق تر از داده نسبت به خصلت های سطح سیستم در نظر گرفت. متادیتا ، عنصر اساسی برای تحقق اصل برنامه نویسی ساده ( تسهیل در امر برنامه نویسی ) مورد حمایت CLR است. متادیتا توسط یک کمپایلر تولید و بصورت اتوماتیک در یک فایل EXE و یا DLL ذخیره می گردد.فرمت آن بصورت باینری است ولی فریمورک یک API بمنظور صدور متادیتا به / از یک XML Schema و یا یک کتابخانه نوع COM ارائه می دهد . از Schema XML ، می توان در بازیابی ورژن و سایر اطلاعات مرتبط با یک عنصر ترجمه شده ، استفاده کرد. اطلاعات ارائه شده توسط متادیتا ، مجموعه گسترده ای را شامل می شود :
• تشریح یک واحد بکارگیری ( اسمبلی نامیده می شود ) : نام ، ورژن ، فرهنگ ( که می تواند اطلاعاتی نظیر زبان پیش فرض کاربر را مشخص نماید) ، یک کلید عمومی برای بررسی، نوع های صادر شده توسط اسمبلی ، وابستگی ها به سایر اسمبلی ها ، مجوزهای امنیتی مورد نیاز بمنظور اجراء
• کلاس های پایه و اینرفیس های استفاده شده توسط اسمبلی
• خصلت های سفارشی : تعریف شده توسط کاربرو یا کمپایلر
برخی از موارد فوق نظیر خصلت های سفارشی ، انتخابی می باشند .کمپایلرها یکی از کاربران و استفاده کنندگان متا دیتا می باشند . مثلا" یک کمپایلر می تواند یک ماژول تولید شده نوسط یک کمپایلر متفاوت دیگر را بررسی و از متا دیتا بمنظور استفاده و درج ( Import ) ، نوع های cross-language استفاده نمایند. کمپایلرها می توانند متاد یتا هائی را در ارتباط با ماژول های ترجمه شده خود نیز تولید نمایند.
متا دیتا یکی از روش هائی است که CLR را قادر به حمایت از مجموعه گشترده ای از ابزارها می نماید . برخی از استفاده کنندگان متادیتا ، عبارتند از :
• طراحان
• دیباگرها
• تولید کنندگان پروکسی
• سایر کمپایلرها
• مرورگرها نوع / شی
حمایت و ارتباط چندین زبان
مهمترین ویژگی و بنوعی هدف CLR ، حمایت از زبانهای برنامه نویسی متفاوت و امکان ارتباط ( همبستگی ) بین زبانهای مختلف است .با بهره گیری از یک سیتم نوع ( CTS ) و با اعمال تمامی کنترل های لازم در ارتباط با فراخوانی اینترفیس، CLR امکان ارتباط مناسب و شفاف بین زبان های برنامه نویسی را فراهم می نماید.
درگذشته یک زبان برنامه نویسی بکمک عناصر COM ، قادر به نمونه سازی و استفاده از عناصر نوشته شده توسط یک زبان برنامه نویسی دیگر بود .در برخی موارد، فراخوانی اینگونه عناصر، مشکلاتی را از بعد مدیریتی ایجاد می کرد. بهرحال Subclassing یک عنصر نوشته شده به زبان دیگر، مستلزم وجود پتانسیلی خاص بودکه صرفا" پیاده کنندگان حرفه ای قادر به انجام و استفاده از آن بودند. در فریمورک دات نت، می توان از یک زبان بمنظور subclass ( کلاس زیرمجموعه که از یک کلاس پایه دیگر مشتق شده باشد ) یک کلاس نوشته شده به زبان دیگر استفاده نمود. کلاس نوشته شده به زبان ویژوال بیسیک می تواند از یک کلاس پایه نوشته شده با ++C و یا کوبال به ارث رسیده می باشد. برنامه VB ، ضرورتی به آگاهی از زبان استفاده شده بمنظور نوشته کلاس پایه ، نخواهد داشت .بدین ترتیب ، زمینه بهره گیری و استفاده از تمامی مزایای توارث در پیاده سازی فراهم و در صورتیکه کلاس پایه تغییر نماید ، ضرورتی به ترجمه مجدد کلاس زیر مجموعه نخواهد بود.چگونه این کار انجام می شود ؟ اطلاعات ارائه شده توسط متادیتا ، این امر را امکان پذیر می سازند . در این رابطه هیچگونه IDL(Interface Definition Language در دات نت وجود نداشته و یک اینترفیس کلاس صرفنظر از زبان استفاده شده برای تولید آن ، همواره یکسان مشاهده خواهد شد. CLR از متایتا بمنظور مدیریت تمامی اینترفیس ها و فراخوانی بین زبان ها استفاده می نماید توارث بین زبانها ، زمینه تحقق یک معماری باز را فراهم خواهد کرد .
سیتم نوع
یکی از اجزاء مهم CLR که حضور و عملکرد آن تاثیر مستقیمی بر حمایت از چندین زبان را بدنبال دارد ، CTS(Common Type System) است .در سیستم فوق ، تمامی نوع های داده (حتی نوع هائی نظیر : Long و Boolean )، بعنوان شی پیاده سازی شده اند . بدین ترتیب هماهنگی بین نوع ها در یک سطح پائین تر و بمنظور سازگاری بیشتر بین زبان ها ، صورت می پذیرد. با توجه به اینکه تمامی زبانها از نوع های کتابخانه ای یکسانی استفاده می نمایند ، فراخوانی یک زبان از زبان دیگر نیازمند تبدیل نوع، نخواهد بود.
یکی از مهمترین ویژگی های دات نت ، namespace است .namespace ، امکان سازماندهی کتابخانه های شی را بصورت سلسله مراتبی فراهم می نماید.بدین ترتیب امکان مراجعه به آنان بسادگی و به دور از هرگونه نا همخوانی و یا تضادی ، محقق خواهد شد .بمنظور استفاده از امکانات موجود در کتابخانه های کلاس ، می بایست در ابتدا برای آنان یک مرجع ایجاد نمود.مرجع فوق ،امکان استفاده از نوع ها را بصورت خلاصه در کد نوشته شده ،فراهم خواهد آورد. در ویژوال بیسیک با استفاده از یک عبارت Import ، این امر محقق خواهد شد. یک ماژول فرم ویژوال بیسیک در دات نت می تواند بصورت زیر ، آغاز گردد :
Imports System.WinForms
Imports MyDebug = System.Diagnostics.Debug
در اولین خط ، امکان استفاده از تمامی خصلت ها و متدها ی استاندارد مرتبط با فرم ها ، برای کد موجود درماژول ، فراهم خواهد شد.دومین خط ، از یک نام مستعار استفاده می نماید. یک شاخه از ساختار سلسله مراتب شی ( یک مسیر مشخص بر روی ساختار درختی ) ، می تواند شناسه خاص خود را داشته باشد که صرفا" در ماژول مربوط معتبر خواهد بود. در ماژول مورد نظر می توان بمنظور مراجعه به شی System.Diagnostics.Debug ، از MyDebug استفاده گردد.
بکارگیری و اجراء
واحد بکارگیری همانگونه که قبلا" اشاره گردید ، یک اسمبلی است. اسمبلی، می تواند شامل یک و یا چندین فایل بهمراه ویژگی خود تشریحی باشد . اسمبلی شامل یک "مانیفست" بوده که تمامی متادیتا صادر شده توسط اسمبلی و سایر اطلاعات لازم بمنظور بمنظور بکارگیری و اجراء را مشخص می نماید. یک اسمبلی دارای ورژن خاص خود است . اسمبلی ها با یکدیگر ترکیب و برنامه ها را بوجود می آورند . یک برنامه دارای یک و یا چندین اسمبلی بوده و ممکن است شامل فایل ها و داده های اختصاصی برنامه نیز باشد .
کد مبداء ماژول ها ی یک اسمبلی به IL)Intermediate Language) ترجمه می گردند . در ادامه و قبل از اجراء ، IL به کد مختص یک ماشین ترحمه خواهد شد. ترجمه با استفاده از روش های متفاوت و بدفعات ممکن است محقق گردد. معمولا" ترجمه به کد مختص یک ماشین ، صرفا" یک مرتبه انجام و نتیجه برای استفاده در موارد بعد و آتی Cache خواهد شد. CLR ، شامل مجموعه ای از کمپایلرهای JIT)Just-In-Time) است که مسئولیت تبدیل IL به کد مختص یک ماشین را برعهده دارند . بدین ترتیب ، می توان برنامه ها ی نوشته شده در دات نت را بصورت کد IL ترجمه شده ، توزیع نمود. در ادامه با استفاده ازکمپایلرهای دات نت بر روی یک ماشین خاص ، کدهای بهینه و مختص آن ماشین تولید خواهد شد.در سناریوی فوق امکان استفاده از اسکریپت ها بهمراه ماژول نیز وجود دارد ، درچنین مواردی آنان قبل از استفاده ترجمه خواهند شد. در سیستم های موجود ، اسکریپت های تفسیر شده ( در ASP و یا Windows Scriptiong Host ) ، هرگز ترجمه نمی شوند. در دات نت ، اینچنین اسکریپت هائی در اولین مرتبه دستیابی به IL تبدیل و در ادامه به کد مختص ماشین مربوطه تبدیل و برای استفاده مجدد cache ، خواهند شد.
در بخش سوم این مقاله ، به بررسی کلاس های پایه فریمورک دات نت خواهیم پرداخت .
مبانی دا ت نت ( بخش سوم )
آنچه تاکنون گفته شده است :
بخش اول : معرفی فریمورک دانت
بخش دوم : بررسی CLR
در این بخش به بررسی کلاس های پایه فریمورک دات نت و اینترفیس های کاربر و برنامه خواهیم پرداخت .

 

در بخش دوم این مقاله با اولین لایه فریمورک دات نت ( CLR ) آشنا شدیم . در ادامه بر روی لایه بعد متمرکز و به بررسی امکانات ارائه شده خواهیم پرداخت . این لایه ، کلاس های پایه فریمورک دات نت نامیده شده و مسئولیت ارائه سرویس ها و مدل های اشیاء برای داده ، عملیات ورودی و خروجی ، امنیت و موارد دیگر را بر عهده دارد . نسل بعدی ADO که ADO.NET نامیده می شود در این لایه قرار دارد . در لایه فوق ، امکانات و پتانسیل های لازم بمنظور انجام عملیات مرتبط با XML نیز ارائه شده است . پارسر و تبدیل کننده XSL ، نمونه هائی از پتانسیل های موجود در این لایه بمنظور کار با اسناد XML می باشند.
اکثر امکانات و پتانسیل های مورد نیازی که ضرورت فراگیری آنان برای هر برنامه نویس در رابطه با یک زبان برنامه نویسی وجود دارد ، به کلاس های فریمورک منتقل شده است . مثلا" تابع Sqr که در ویژوال بیسیک از آن بمنظور محاسبه جذر یک عدد استفاده می گردد در دات نت وجود نداشته و این تابع با متد System.Math.Sqrt موجود در کلاس های فریمورک جایگزین شده است .
تمامی زبانهای سازگار با دات نت قادر به استفاده از کلاس های فریمورک می باشند . بدین ترتیب در یک زبان برنامه نویسی نظیر کوبال و یا ویژوال بیسیک دات نت ، برای محاسبه جذر یک عدد از تابع مشابهی استفاده خواهد شد .رویکرد فوق ، پیوستگی و ارتباط مناسب بین زبان های متفاوت برنامه نویسی را بدنبال خواهد داشت . تمامی زبان ها به روشی مشابه از متد System.Math.Sqrt استفاده و به کد یکسانی دستیابی خواهند داشت ( اختلاف موجود صرفا" به گرامر استفاده از متد مورد نظر در زبان مربوطه ، برمی گردد) .
اکثر قابلیت ها و پتانسیل موجود در کلاس های پایه فریمورک در یک namespace عظیم و با نام System ارائه شده است . namespace فوق ، شامل چندین namespace زیرمجموعه دیگر است . مثلا" Microsoft.VisualBasic شامل Runtime ویژوال بیسیک و کلاس ها ئی بمنظور ترجمه و تولید کد مورد نظر برای برنامه های نوشته شده به زبان ویژوال بیسیک دات نت است .
اینترفیس های کاربر و برنامه
در بالاترین لایه ، دات نت روش هائی را بمنظور تفسیر و مدیریت رابط های کاربر ( فرم های ویندوز ، فرم های وب ، برنامه های کنسول ) و اینترفیس مورد نیازعناصر از راه دور ( سرویس های وب ) ، ارائه می نماید .
اینترفیس کاربر : فرم های ویندوز
فرم ها

دانلود با لینک مستقیم


دانلود مقاله برنامه نویسی در دات نت

دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)

اختصاصی از فایلکو دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.) دانلود با لینک مستقیم و پر سرعت .

در این پست می توانید متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید:

 

 مقدمه:

وب یکی از مهمترین و در عین حال جوانترین سرویس اینترنت است، که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده‌ای در حیات بشریت باشد. در گذشته از وب صرفاً به منظور عرضه اطلاعات استفاده می‌گردید و کاربران از آن به عنوان کتابخانه‌ الکترونیکی بزرگ در جهت یافتن اطلاعات مورد نیاز خود استفاده می‌کردند. نرم افزار و دنیای برنامه نویسی یکی از عرصه‌هایی است که بدون شک بیشترین تأثیر را از اینترنت پذیرا بوده است. شرکت‌های عظیم نرم افزاری با لحاظ نمودن جایگاه برجسته اینترنت، اقدام به ارائه تکنولوژی‌ها و معماری‌های متفاوتی در جهت طراحی و پیاده سازی برنامه‌های کامپیوتری با بهره‌گیر از اینترنت نموده‌اند. یکی از تکنولوژی‌های طراحی شده در این زمینه تکنولوژی ASP.NET می‌باشد. در این پروژه سعی شده است که شناختی کافی در زمینه ASP.NET (.NET ، ASP و ASP.NET‌ و … ) بدست آمده باشد.

1- آشنایی با دات نت (.NET)

چرا به دات نت احتیاج داریم؟

«آشنایی با دات نت و بررسی مشکلاتی که حل آنها سبب تولد دات نت گردید».

به طور معمول نسل‌های جدید زبان های برنامه نویسی به این دلیل متولد می شوند که زبانهای قدیمی تر دارای امکانات محدود بودند و یا قدرت استفاده از تکنولوژی‌های فعلی را به صورت مطلوب و ساده ندارند. مهمترین نیازی که به عنوان آخرین تکنولوژی وجود دارد، برنامه نویسی در محیط اینترنت است. اینترنت در مدت تقریبا 8 سال جای خود را به عنوان یکی از مهمترین وسایل ارتباطی برای کارهای روزمره و تجارت باز کرده است. سیستمهای برنامه نویسی قدیمی تر امکان برنامه نویسی برای اینترنت را فراهم کرده بودند اما هر کدام دارای اشکالات بزرگی هستند، برای مثال تکنولوژی Com اولین بار در ویندوز به کار گرفته شد. در سال 1970 نیز سیستم‌هایی برای Unix نوشته شده بودند، جاوا نیز در اصل برای ابزارهای الکترونیکی بود و نه برای اینترنت.

سپس برای اولین بار یک سیستم جامع برای برنامه نویسی تحت اینترنت ایجاد شد. این سیستم‌که .NET، نام داشت، از مراحل سطح پایین که به زبان ماشین می‌باشد تا بالاترین سطح که برنامه نویسی ویژوال آن می باشد، برای استفاده در اینترنت طراحی شده است البته NET فقط برای اینترنت نیست و با استفاده از آن می توان برنامه های کامل تحت Client نیز ایجاد کرد، اما بزرگترین مزیت آن در برابر سیستم‌های دیگر امکانات اینترنت آن است. برای این که از مزایای استفاده از NET را بهتر متوجه بشویم بهتر است در ابتدا معایب سیستم های پیشین را ذکر کنیم.

شرکت مایکروسافت تا قبل از سال 1995 به برنامه نویسی در محیط های Client و server پرداخت، اما از ان سال به بعد توجه بیشتری به مساله برنامه نویسی در اینترنت کرد.

مایکروسافت com و +com را ایجاد کرد و آن ها را در ویژوال استودیوی 6 به کار گرفت. در سال 1999 حدود 50 درصد از بزرگترین سایتهای تجارت الکترونیکی از محصولات مایکروسافت استفاده می کردند. اما هنوز هم مشکلاتی زیادی در سیستم‌های مایکروسافت وجود داشت که یکی از آنها دشواری نوشتن برنامه در اینترنت با محصولات مایکروسافت بود. شرکت مایکروسافت برای راحتی کار برنامه نویس‌ها ASP یا Active server page را ایجاد کرد. با این که این قدم بزرگ بود و کارها را بسیار ساده کرد ولی هنوز از برنامه نویسی شی گرا پشتیبانی نمی کرد. همچنین در ویژوال استودیوی 6 قسمتی برای Internet Application ایجاد شده بود و در آن امکان ساختن web class وجود داشت ولی هیچ وقت به عنوان یک ابزار کارآمد برای برنامه نویسی وب در نظر گرفته نشد.

مدل برنامه نویسی DNA

مایکروسافت یک مدل برنامه نویسی به نام Distributed internet Application دارد که برپایه برنامه نویسی n-tier و com بنا نهاده شده است. مدل DNA از سه بخش اساسی تشکیل شده است:

1-بخش اول به نام Presentation tire معروف است. در این بخش رابط تصویری کاربر وجود دارد و خود نیز به دو نوع Internet Browser و will 32 GUI تقسیم می‌شود که هر کدام مشکلات خاص خود را دارند. در مدلی که از win 32 GUI یا همان نرم افزارهای معمولی استفاده می‌شود دو مشکل بزرگ وجود داشت: دشواری بروز رسانی نرم افزار و دیگری DllHell که در ادامه توضیح داده خواهد شد. در نوع دوم مشکلاتی از این قبیل نبود. امکانات برنامه نویسی کافی در محیط مرورگر، نبود رابط قوی کاربر، نبودن مرورگرهای یکسان و … وجود دارد. همچنین همیشه یک اتصال به اینترنت یا اینترانت لازم است. در این نوع از برنامه نویسی می توان از Java Appletها یا Activex استفاده کرد ولی مرورگر باید امکان استفاده از آن را داشته باشد، مخصوصا هنگام استفاده از Activex که باید فقط از IE استفاده کرد.

2-بخش دوم که Middle tier نام دارد، مکانی است که اطلاعات و قوانین تجاری در آن وجود دارد، منظور از قوانین، متدها و اجزائی هستند که اعمال کاربران را کنترل می کنند. مهمترین و آسان ترین زبان برای نوشتن این اجزا از DNA ویژوال بیسیک است. برنامه نویسی که بخواهد در این رده برنامه بنویسد باید آشنایی کاملی با com و پروتکل های رایج داشته، همچنین باید مهارت کافی در استفاده از ADO و ADSL داشته باشد.

مشخص که یک اشتباه در این لایه باعث بروز خطا و نقص در کل سیستم می‌شود.

3-بخش سوم یا Data tier مکانی است که اطلاعات سازمان در آن ذخیره می‌شود معمولا در این قسمت از بانکهای اطلاعاتی پیشرفته رابطه‌ای مانند SQL server و Oracle استفاده می کنند.

 محدودیتهای Com

همان طور که دیدید مهمترین قسمت در DNA همان Com است که در جای جای آن استفاده می شود. که در این جا برخی معایب com را ذکر می کنیم:

DLL Hell: اگر کوچکترین تغییری در یک com ایجاد شود، دیگر برنامه‌هایی که از ورژن قبلی استفاده می کردند قادر به فعال ساختن نسخه جدید نیستند. هنگامی که در ویندوز، یک com نصب شود برایش در رجیستر یک GUID ثبت می‌شود که اطلاعات آن com را در خود ذخیره می کند. اگر یک برنامه از نسخه اول یک com استفاده کند و بعد از مدتی شما تغییراتی در نسخه اول بدهید و بخواهید آن را دوباره در سیستم نصب کنید ویندوز به شما پیغام خطا می‌دهد چون ورژن آن تکرار است، اگر هم آن را به ورژن دوم ارتقاء دهید. نرم افزار قبلی هنوز به دنبال نسخه اول می‌گردد، این امر باعث می‌شود که شما مجبور شوید یکبار دیگر کل برنامه را کامپایل کرده و در کامپیوترتان نصب کنید.

کمبود در وراثت: در نسخه های Com که در حال حاضر هستند چیزی به نام وراثتی که در C++ وجود دارد نمی‌باشد، بلکه وراثت تنها در واسط یک Com می‌باشد، استفاده از آن هم چندان کمکی به برنامه نویسی نمی‌کند. حل این مشکلات باعث تولد .NET گردید.

 دات نت برای شروع

از زمان معرفی دات نت توسط مایکروسافت در تابستان 2000، تعداد زیادی از علاقمندان به دنیای گسترده کامپیوتر خصوصا طراحی و پیاده سازی نرم افزار، همواره به این سئوال مواجه بودند که دات نت چیست و استفاده از آن چه دستاوردهایی را برای استفاده کنندگان به دنبال خواهد داشت؟ دات نت، پلات فرم مایکروسافت برای سرویس های وب Xml است.

به منظور شناخت تمامی ابعاد دات نت لازم است به موارد زیر توجه گردد:

  • دات نت پلات فرمی جدید به منظور پیاده سازی و به کارگیری برنامه‌های مدیریت یافته، شی‌گرا و پیشرفته است.
  • به منظور پیاده سازی برنامه های دات نت می توان از زبان های برنامه نویسی متفاوتی استفاده کرد (کد تولید شده توسط کامپایلر، Runtim دات نت خواهد بود).
  • دات نت، کتابخانه کلاس گسترده ای را ارائه می‌نماید.
  • دات نت، روشی جدید به منظور پیاده سازی برنامه تحت ویندوز (Desktop Application) را با استفاده از کلاس های فرم ویندوز، ارائه می نماید.
  • دات نت، امکان تشریح خودکار عناصر نرم افزاری را ارائه و حمایت می‌نماید.
  • دات نت، امکاناتی نظیر: ارتباط بین زبان‌ها، عناصر مستقل از زبان برنامه نویسی با قابلیت استفاده مجدد و توارث در بین زبانها را ارائه می‌نماید.
  • دات نت، روش جدیدی برای پیاده سازی برنامه های مبتنی بر مرورگر (برنامه‌های وب) را با استفاده از کلاس‌های ASP. NET ارائه می‌نماید.
  • کلاس‌های ADO.NET مربوط به دات نت، یک معماری جدید غیر متصل برای دستیابی به داده از طریق اینترنت را ارائه می نمایند.
  • دات نت، امکان ایجاد سرویس های وب XML مستقل از پلات فرم را با استفاده از استانداردهایی نظیر : SOAP و WSDL ارائه می نماید.
  • دات نت، یک معماری جدید برای پیاده سازی و به کارگیری اشیاء راه دور را ارائه می نماید.
  • دات نت، تکنولوژی های متعددی از ویندوز را حمایت می نماید.

 پیاده سازی در دات نت

برای پیاده کنندگان نرم افزار تحت ویندوز، دات نت امکانات متعددی را از ویژوال C++ تا ویژوال بیسیک ارائه می‌نماید. دات نت، مستقل از نوع زبان برنامه نویسی بوده و در این راستا کامپایلرهای متعددی برای چنین زبان طراحی و پیاده سازی شده و تمهیدات لازم در خصوص طراحی و پیاده سازی کامپایلرهای دیگر نیز انجام شده است. در حال حاضر از زبانهای Jscript و Visual Basic.NET و C# و Eiffel و Python و Per1 و CoBol و .NET و APL میتوان استفاده کرد. دات نت از زبانهای فوق مستقیما حمایت نمی‌نماید. در حقیقت دات نت صرفا قادر به درک یک زبان بیشتر نیست. زبان فوق IL (Microsoft Intermediate Language) نامیده می‌شود.

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم


دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)

دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)

اختصاصی از فایلکو دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.) دانلود با لینک مستقیم و پر سرعت .

دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)


دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)

در این پست می توانید متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید:

 

 مقدمه:

وب یکی از مهمترین و در عین حال جوانترین سرویس اینترنت است، که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده‌ای در حیات بشریت باشد. در گذشته از وب صرفاً به منظور عرضه اطلاعات استفاده می‌گردید و کاربران از آن به عنوان کتابخانه‌ الکترونیکی بزرگ در جهت یافتن اطلاعات مورد نیاز خود استفاده می‌کردند. نرم افزار و دنیای برنامه نویسی یکی از عرصه‌هایی است که بدون شک بیشترین تأثیر را از اینترنت پذیرا بوده است. شرکت‌های عظیم نرم افزاری با لحاظ نمودن جایگاه برجسته اینترنت، اقدام به ارائه تکنولوژی‌ها و معماری‌های متفاوتی در جهت طراحی و پیاده سازی برنامه‌های کامپیوتری با بهره‌گیر از اینترنت نموده‌اند. یکی از تکنولوژی‌های طراحی شده در این زمینه تکنولوژی ASP.NET می‌باشد. در این پروژه سعی شده است که شناختی کافی در زمینه ASP.NET (.NET ، ASP و ASP.NET‌ و … ) بدست آمده باشد.

1- آشنایی با دات نت (.NET)

چرا به دات نت احتیاج داریم؟

«آشنایی با دات نت و بررسی مشکلاتی که حل آنها سبب تولد دات نت گردید».

به طور معمول نسل‌های جدید زبان های برنامه نویسی به این دلیل متولد می شوند که زبانهای قدیمی تر دارای امکانات محدود بودند و یا قدرت استفاده از تکنولوژی‌های فعلی را به صورت مطلوب و ساده ندارند. مهمترین نیازی که به عنوان آخرین تکنولوژی وجود دارد، برنامه نویسی در محیط اینترنت است. اینترنت در مدت تقریبا 8 سال جای خود را به عنوان یکی از مهمترین وسایل ارتباطی برای کارهای روزمره و تجارت باز کرده است. سیستمهای برنامه نویسی قدیمی تر امکان برنامه نویسی برای اینترنت را فراهم کرده بودند اما هر کدام دارای اشکالات بزرگی هستند، برای مثال تکنولوژی Com اولین بار در ویندوز به کار گرفته شد. در سال 1970 نیز سیستم‌هایی برای Unix نوشته شده بودند، جاوا نیز در اصل برای ابزارهای الکترونیکی بود و نه برای اینترنت.

سپس برای اولین بار یک سیستم جامع برای برنامه نویسی تحت اینترنت ایجاد شد. این سیستم‌که .NET، نام داشت، از مراحل سطح پایین که به زبان ماشین می‌باشد تا بالاترین سطح که برنامه نویسی ویژوال آن می باشد، برای استفاده در اینترنت طراحی شده است البته NET فقط برای اینترنت نیست و با استفاده از آن می توان برنامه های کامل تحت Client نیز ایجاد کرد، اما بزرگترین مزیت آن در برابر سیستم‌های دیگر امکانات اینترنت آن است. برای این که از مزایای استفاده از NET را بهتر متوجه بشویم بهتر است در ابتدا معایب سیستم های پیشین را ذکر کنیم.

شرکت مایکروسافت تا قبل از سال 1995 به برنامه نویسی در محیط های Client و server پرداخت، اما از ان سال به بعد توجه بیشتری به مساله برنامه نویسی در اینترنت کرد.

مایکروسافت com و +com را ایجاد کرد و آن ها را در ویژوال استودیوی 6 به کار گرفت. در سال 1999 حدود 50 درصد از بزرگترین سایتهای تجارت الکترونیکی از محصولات مایکروسافت استفاده می کردند. اما هنوز هم مشکلاتی زیادی در سیستم‌های مایکروسافت وجود داشت که یکی از آنها دشواری نوشتن برنامه در اینترنت با محصولات مایکروسافت بود. شرکت مایکروسافت برای راحتی کار برنامه نویس‌ها ASP یا Active server page را ایجاد کرد. با این که این قدم بزرگ بود و کارها را بسیار ساده کرد ولی هنوز از برنامه نویسی شی گرا پشتیبانی نمی کرد. همچنین در ویژوال استودیوی 6 قسمتی برای Internet Application ایجاد شده بود و در آن امکان ساختن web class وجود داشت ولی هیچ وقت به عنوان یک ابزار کارآمد برای برنامه نویسی وب در نظر گرفته نشد.

مدل برنامه نویسی DNA

مایکروسافت یک مدل برنامه نویسی به نام Distributed internet Application دارد که برپایه برنامه نویسی n-tier و com بنا نهاده شده است. مدل DNA از سه بخش اساسی تشکیل شده است:

1-بخش اول به نام Presentation tire معروف است. در این بخش رابط تصویری کاربر وجود دارد و خود نیز به دو نوع Internet Browser و will 32 GUI تقسیم می‌شود که هر کدام مشکلات خاص خود را دارند. در مدلی که از win 32 GUI یا همان نرم افزارهای معمولی استفاده می‌شود دو مشکل بزرگ وجود داشت: دشواری بروز رسانی نرم افزار و دیگری DllHell که در ادامه توضیح داده خواهد شد. در نوع دوم مشکلاتی از این قبیل نبود. امکانات برنامه نویسی کافی در محیط مرورگر، نبود رابط قوی کاربر، نبودن مرورگرهای یکسان و … وجود دارد. همچنین همیشه یک اتصال به اینترنت یا اینترانت لازم است. در این نوع از برنامه نویسی می توان از Java Appletها یا Activex استفاده کرد ولی مرورگر باید امکان استفاده از آن را داشته باشد، مخصوصا هنگام استفاده از Activex که باید فقط از IE استفاده کرد.

2-بخش دوم که Middle tier نام دارد، مکانی است که اطلاعات و قوانین تجاری در آن وجود دارد، منظور از قوانین، متدها و اجزائی هستند که اعمال کاربران را کنترل می کنند. مهمترین و آسان ترین زبان برای نوشتن این اجزا از DNA ویژوال بیسیک است. برنامه نویسی که بخواهد در این رده برنامه بنویسد باید آشنایی کاملی با com و پروتکل های رایج داشته، همچنین باید مهارت کافی در استفاده از ADO و ADSL داشته باشد.

مشخص که یک اشتباه در این لایه باعث بروز خطا و نقص در کل سیستم می‌شود.

3-بخش سوم یا Data tier مکانی است که اطلاعات سازمان در آن ذخیره می‌شود معمولا در این قسمت از بانکهای اطلاعاتی پیشرفته رابطه‌ای مانند SQL server و Oracle استفاده می کنند.

 محدودیتهای Com

همان طور که دیدید مهمترین قسمت در DNA همان Com است که در جای جای آن استفاده می شود. که در این جا برخی معایب com را ذکر می کنیم:

DLL Hell: اگر کوچکترین تغییری در یک com ایجاد شود، دیگر برنامه‌هایی که از ورژن قبلی استفاده می کردند قادر به فعال ساختن نسخه جدید نیستند. هنگامی که در ویندوز، یک com نصب شود برایش در رجیستر یک GUID ثبت می‌شود که اطلاعات آن com را در خود ذخیره می کند. اگر یک برنامه از نسخه اول یک com استفاده کند و بعد از مدتی شما تغییراتی در نسخه اول بدهید و بخواهید آن را دوباره در سیستم نصب کنید ویندوز به شما پیغام خطا می‌دهد چون ورژن آن تکرار است، اگر هم آن را به ورژن دوم ارتقاء دهید. نرم افزار قبلی هنوز به دنبال نسخه اول می‌گردد، این امر باعث می‌شود که شما مجبور شوید یکبار دیگر کل برنامه را کامپایل کرده و در کامپیوترتان نصب کنید.

کمبود در وراثت: در نسخه های Com که در حال حاضر هستند چیزی به نام وراثتی که در C++ وجود دارد نمی‌باشد، بلکه وراثت تنها در واسط یک Com می‌باشد، استفاده از آن هم چندان کمکی به برنامه نویسی نمی‌کند. حل این مشکلات باعث تولد .NET گردید.

 دات نت برای شروع

از زمان معرفی دات نت توسط مایکروسافت در تابستان 2000، تعداد زیادی از علاقمندان به دنیای گسترده کامپیوتر خصوصا طراحی و پیاده سازی نرم افزار، همواره به این سئوال مواجه بودند که دات نت چیست و استفاده از آن چه دستاوردهایی را برای استفاده کنندگان به دنبال خواهد داشت؟ دات نت، پلات فرم مایکروسافت برای سرویس های وب Xml است.

به منظور شناخت تمامی ابعاد دات نت لازم است به موارد زیر توجه گردد:

  • دات نت پلات فرمی جدید به منظور پیاده سازی و به کارگیری برنامه‌های مدیریت یافته، شی‌گرا و پیشرفته است.
  • به منظور پیاده سازی برنامه های دات نت می توان از زبان های برنامه نویسی متفاوتی استفاده کرد (کد تولید شده توسط کامپایلر، Runtim دات نت خواهد بود).
  • دات نت، کتابخانه کلاس گسترده ای را ارائه می‌نماید.
  • دات نت، روشی جدید به منظور پیاده سازی برنامه تحت ویندوز (Desktop Application) را با استفاده از کلاس های فرم ویندوز، ارائه می نماید.
  • دات نت، امکان تشریح خودکار عناصر نرم افزاری را ارائه و حمایت می‌نماید.
  • دات نت، امکاناتی نظیر: ارتباط بین زبان‌ها، عناصر مستقل از زبان برنامه نویسی با قابلیت استفاده مجدد و توارث در بین زبانها را ارائه می‌نماید.
  • دات نت، روش جدیدی برای پیاده سازی برنامه های مبتنی بر مرورگر (برنامه‌های وب) را با استفاده از کلاس‌های ASP. NET ارائه می‌نماید.
  • کلاس‌های ADO.NET مربوط به دات نت، یک معماری جدید غیر متصل برای دستیابی به داده از طریق اینترنت را ارائه می نمایند.
  • دات نت، امکان ایجاد سرویس های وب XML مستقل از پلات فرم را با استفاده از استانداردهایی نظیر : SOAP و WSDL ارائه می نماید.
  • دات نت، یک معماری جدید برای پیاده سازی و به کارگیری اشیاء راه دور را ارائه می نماید.
  • دات نت، تکنولوژی های متعددی از ویندوز را حمایت می نماید.

 پیاده سازی در دات نت

برای پیاده کنندگان نرم افزار تحت ویندوز، دات نت امکانات متعددی را از ویژوال C++ تا ویژوال بیسیک ارائه می‌نماید. دات نت، مستقل از نوع زبان برنامه نویسی بوده و در این راستا کامپایلرهای متعددی برای چنین زبان طراحی و پیاده سازی شده و تمهیدات لازم در خصوص طراحی و پیاده سازی کامپایلرهای دیگر نیز انجام شده است. در حال حاضر از زبانهای Jscript و Visual Basic.NET و C# و Eiffel و Python و Per1 و CoBol و .NET و APL میتوان استفاده کرد. دات نت از زبانهای فوق مستقیما حمایت نمی‌نماید. در حقیقت دات نت صرفا قادر به درک یک زبان بیشتر نیست. زبان فوق IL (Microsoft Intermediate Language) نامیده می‌شود.

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

 


دانلود با لینک مستقیم


دانلود پایان نامه رشته کامپیوتر با موضوع دات نت (NET.)