نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: دات نت برای شروع

  1. #1
    تاریخ عضویت
    Nov 2007
    محل سکونت
    Earth
    نوشته ها
    84
    سپاس ها
    0
    سپاس شده 44 در 27 پست

    پیش فرض دات نت برای شروع

    از زمان معرفی دات نت توسط مايکروسافت در تابستان 2000 ، تعداد زيادی از علاقه مندان به دنيای گسترده کامپيوتر خصوصا" طراحی و پياد ه سازی نرم افزار، همواره با اين سوال مواجه بوده و هستند که دات نت چيست و استفاده از آن چه دستاوردهائی را برای استفاده کنندگان بدنبال خواهد داشت ؟ اجازه دهيد تعريف دات نت را عينا" از خود مايکروسافت نقل و قول نمائيم :" دات نت ، پلات فرم مايکروسافت برای سرويس های وب XML است " . بمنظور شناخت تمامی ابعاد دات نت لازم است به موارد زير نيز توجه گردد :
    • <LI dir=rtl>دات نت ، پلات فرمی جديد بمنظور پياده سازی و بکارگيری برنامه های مديريت يافته ، شی گراء و پيشرفته است . <LI dir=rtl>بمنظور پياده سازی برنامه های دات نت می توان از زبان های برنامه نويسی متفاوتی استفاده کرد (کد توليد شده توسط کمپايلر ، Runtim دات نت خواهد بود ) . <LI dir=rtl>دات نت ، کتابخانه کلاس گسترده ای را ارائه می نمايد. <LI dir=rtl>دات نت ، روشی جديد بمنظور پياده سازی برنامه تحت ويندوز ( Desktop application ) را با استفاده از کلاس های فرم های ويندوز ، ارائه می نمايد . <LI dir=rtl>دا ت نت، امکان تشريح خودکار عناصر نرم افزاری را ارائه و حمايت می نمايد . <LI dir=rtl>دات نت ، امکاناتی نظير : ارتباط بين زبان ها ، عناصر مستقل از زبان برنامه نويسی با قابليت استفاده مجدد و توارث در بين زبان ها را ارائه می نمايد .
      <LI dir=rtl>دات نت ، روش جديدی برای پياده سازی برنامه های مبتنی بر مرورگر ( برنامه های وب ) را با استفاده از کلاس های ASP.NET ، ارائه می نمايد. <LI dir=rtl>کلاس های ADO.NET مربوط به دات نت ، يک معماری جديد غير متصل برای دستيابی به داده ه از طريق اينترنت را ارائه می نما يند . <LI dir=rtl>دات نت ، امکان ايجاد سرويس های وب XML مستقل از پلات فرم را با استفاده از استانداردهائی نظير :
      SOAP)Simple Object Access Protocol) و WSDL)Web Service Description Langauge ) ارائه می نمايد .
      <LI dir=rtl>دات نت، يک معماری جديد برای پياده سازی و بکارگيری اشياء راه دور را ارائه می نمايد .
    • دات نت ، تکنولوژی ها ی متعددی از ويندوز را حمايت می نمايد.
    بنظر حکايت دات نت همچنان ادامه و ما با واقعيتی بسيار بزرگ و توانمند روبر هستيم . برای شرکت مايکروسافت مهمترين تحول پس از عرضه ويندوز ، معرفی دات نت است . پياده کنندگان نرم افزاری که تمايل به استفاده از پلات فرم فوق را دارند ، می بايست بسرعت با چارچوب و مفاهيم اوليه آن آشنا شده تا زمينه استفاده معقول و منطقی از آن فراهم گردد.
    پياده سازی در دات نت
    برای پياده کنندگان نرم افزار تحت ويندوز ، دات نت امکانات متعددی را از ويژوال ++ C تا ويژوال بيسيک ارائه می نمايد .دات نت ،مستقل از نوع زبان برنامه نويسی بوده و در اين راستا کمپايلرهای متعددی برای چندين زبان طراحی و پياده سازی شده و تمهيدات لازم درخصوص طراحی و پياده سازی کمپايلرهای ديگر نيز انجام شده است . در حال حاضر از زبان های C#, Visual Basic .NET, JScript .NET, COBOL, Perl, Python, Eiffel, APL ، می توان استفاده کرد. دات نت از زبان های فوق مستقيما" حمايت نمی نمايد . در حقيقت ، دات نت صرفا" قادر به درک يک زبان بيشتر نيست . زبان فوق ، زبان ميانی مايکروسافت ( Microsoft Intermediate Languge :IL ) ناميده می شود.

    يک پلات فرم مستقل از زبان
    از يک کمپايلر اختصاصی هر زبان، بمنظور ترجمه کدهای نوشته شده به IL ، استفاده می گردد.خروجی فرآيند ترجمه ، شامل IL و متا ديتا است .IL ، را می توان بمنزله يک زبان اسمبلی برای يک پردازنده مجازی stack-based دات نت تصور نمود . از اين زاويه ، عملکرد IL ، مشابه کدهای P توليده شده در نسخه های اوليه ويژوال بيسيک و يا بايت کدهای منتشر شده توسط يک کمپايلر جاوا ، است . ( IL ، قبل از اجراء بطور کامل ترجمه خواهد شد) . IL ، برای يک زبان خاص طراحی نشده است . عبارات IL ، نوع های متداول به اشتراک گذاشته شده را که توسط تمامی زبانهای دات نت ،استفاده می گردد ، پردازش می نمايند . سيستم نوع فوق ، CTS ) Common Type System) ، ناميده می شود. يک نوع دات نت، چيزی بمراتب بيشتر از يک نوع داده است . نوع های دات نت ، عموما" توسط کلاس هائی شامل کد و اعضاء داده تعريف می گردند. در زمان اجراء ، CLR)Common Language Runtime) ، مسئوليت استقرار يک برنامه دات نت در حافظه و اجرای آن را برعهده خواهد داشت .بمنظور نيل به هدف فوق ، CLR از تکنيکی با نام JIT) Just-In-Time) بمنظور ترجمه IL به کد مختص و وابسته به يک ماشين استفاده می نمايد . کد دات نت ،همواره ترجمه و هرگز تفسير نمی گردد ، بنابراين دات نت از يک ماشين مجازی بمنظور اجراء برنامه استفاده نکرده و در مقابل کد IL برای هر متد براساس کمپايلر JIT در اولين فراخوانی ترجمه خواهد شد. در مرتبه بعد که يک متد صدا زده می شود ، کد ترجمه شده توسط JIT ، اجراء خواهد شد .

    ماحصل فرآيند ترجمه ، توليد يک فايل اجرائی ويندوز با فرمت PE)Portable Executable) ، است .در رابطه با فايل فوق ، ذکر دونکته ضروری است : اول اينکه ، CLR از زبان استفاده شده برای توليد برنامه و يا عنصر مورد نظر آگاهی نداشته و صرفا" به کدهای IL توجه خواهد داشت .ثانيا" ، در تئوری استفاده ازکمپايلر JIT تمام عمليات مورد نياز بمنظور استفاده از پتانسيل های دات نت است .

  2. کاربر روبرو از پست مفید Travis سپاس کرده است .

    mr.bahram (04-08-2008)

  3. #2
    تاریخ عضویت
    Nov 2007
    محل سکونت
    Earth
    نوشته ها
    84
    سپاس ها
    0
    سپاس شده 44 در 27 پست

    پیش فرض پاسخ : دات نت برای شروع

    دات نت و کد مديريت يافته ( اداره شده )
    نحوه اجراء برنامه های دات نت تابع مدلی است که در شکل فوق ، نشان داده شده است . کد توليد شده که مقصد آن CLR فريمورک دات نت باشد را برنامه های مديريت يافته ( managed applications ) می گويند. در مقابل،برنامه های ويندوز غير از دات نت با نام برنامه های غيرمديريت يافته ( unmanaged applications ) از آنان ياد می گردد. مايکروسافت بر اين مسئله تاکيد نموده است که در حال حاضر و طی ساليان آتی نياز به اين نوع برنامه ها وجود داشته( برنامه های غيرمديريت يافته ) و تمهيدات لازم در خصوص ارتباط بين آنها انديشيده شده است. متداولترين نياز در اين رابطه، همزيستی برنامه های دات نت در کنار عناصر COM است . بدين منظورمايکروسافت ، امکان فعاليت و کار برنامه های دات نت را با عناصر غيرمديريت يافته COM ، فراهم نموده است . در اين راستا می توان يک عنصر دات نت را بعنوان يک شی COM ريجستر کرد. در رويکردی مشابه ، دات نت امکان دستيابی به Win32 API برای برنامه های دات نت را فراهم تا از اين طريق و در صورت تمايل و ضرورت ، عناصر مديريت يافته قادر به فراخوانی توابع غير مديريت يافته موجود در يک DLL)Dynamic Link Library) ، باشند .
    CLR ، علاوه بر اينکه امکان ترجمه کدهای IL را به کد مختص يک ماشين فراهم می نمايد ، عمليات مديريتی لازم در خصوص برنامه ها را نيز انجام خواهد داد. استقرار يک برنامه در حافظه ، بررسی صحت کد ، حفاظت برنامه ها از يکديگر ، تاکيد بر مسائل امنيتی ، ارائه سرويس های اشکال زدائی ، نمونه هائی از خدمات ارائه شده توسط CLR می باشند . مديريت کد توسط CLR ، يک لايه اضافه را ارائه و باعث جداسازی برنامه ها از سيستم عامل می گردد . در گذشته سرويس های ارائه شده توسط لايه فوق در خود برنامه و با استفاده از امکانات ارائه شده سيستم عامل ارائه می گرديد.
    متا ديتا و ضرورت انتشار و همراهی آن با کد IL يکی از جنبه های کليدی دات نت است . برای افراديکه با COM و CORBA آشنائی دارند ، متا ديتا بمنزله شکل خاصی از يک IDL)Interface Definition Language) بوده که بصورت اتوماتيک توسط کمپايلر زبان مربوطه توليد می گردد. متاديتا مسئول تشريح نوع ها ، شامل فيلدهای مربوطه ، خصلت ها ، امضاء( تائيد) متد بوده و عمليات حمايتی لازم را در اين خصوص ارائه می نمايد. با توليد اتوماتيک اين داده در زمان ترجمه ، عناصر دات نت بصورت خود تشريح شده و نيازمند ساير اطلاعات مورد نياز برای استفاده از عناصر دات نت نوشته شده با زبانهای برنامه نويسی متفاوت بمنظور ارتباط یين آنها وجود نخواهد داشت .

    اولين برنامه دات نت
    برنامه زير ، يک برنامه خط دستوری نوشته شده با زبان #C بوده که به کاربر يک پيام را نمايش می دهد .

    برنامه نمونه دات نت نوشته شده با C#
    // file : hello.cs
    // compile : csc hello.cs
    using System;
    class Hello {
    public static void Main() {
    Console.WriteLine("Hello from C#");
    }
    }
    هر برنامه #C، می بايست شامل حداقل يک کلاس باشد . در مثال فوق، کلاس مورد نظر Hello بوده و متد Main نقطه ورود برنامه و محلی است که از آنجا برنامه آغاز می گردد. بمنظور نمايش پيام دلخواه از متد WriteLine کلاس Console استفاده شده است.( کلاس فوق در namespace با نام System وجود داشته و بعنوان بخشی از کتابخانه کلاس فريمورک دات نت محسوب می گردد). در ابتدای برنامه تمهيدات لازم در خصوص تعريف System namespace انديشيده شده است ( using System ).بدين ترتيب امکان استفاده از namespace فوق ، در طول برنامه وجود داشته و می توان از کلاس های موجود در namespace فوق ، استفاده کرد.مثال فوق ، نحوه استفاده از کتابخانه کلاس فريمورک دات نت ( يک مخزن عظيم از کلاس های مفيد، قابل استفاده در تمامی برنامه های دات نت ) را نشان می دهد. کلاس های فوق ، بر اساس نوع عملکرد گروه بندی و در namespace ها ، سازماندهی شده اند. بمنظور ترجمه برنامه فوق ، به يک نسخه از فايل NET SDK و يا ويژوال استوديو دات نت نياز خواهد بود. برای ترجمه و اجراء مثال فوق ، از طريق خط دستور،کمپايلر # C را بصورت زير فعال می نمائيم :
    csc hello.cs
    بمنظور مقايسه اوليه زبان C# و VB.NET ، کد مثال فوق را با ويژوال بيسيک دات نت ، بازنويسی می نمائيم .
    برنامه نمونه دات نت نوشته شده با VB.NET
    ' file : hello.vb
    ' compile : vbc hello.vb
    Imports System
    module Hello
    sub main()
    Console.WriteLine("Hello from VB.NET")
    end sub
    end module
    همانگونه که مشاهده می شود ، نسخه ويژوال بيسيک دات نت مثال فوق، شباهت زيادی با نسخه نوشته شده #C دارد. برنامه ويژوال بيسيک دات نت نيز از کلاس Console مربوط به System namespace استفاده می نمايد. کتابخانه کلاس فريمورک دات نت بخشی از پلات فرم دات نت بوده و بمنظور استفاده در يک زبان خاص ايجاد نشده است .
    در حالت کلی تفاوت های اندکی بين # C و ويژوال بيسيک دات نت وجود داشته که عمدتا" به نوع گرامر برمی گردد . برنامه نويسان # C و ويژوال بيسيک دات نت از کلاس های مشابه فريمورک استفاده و با جنبه ها و مفاهيم مشترکی در رابطه با دات نت نظير : namespace ، کلاس ها ، CLR سروکار دارند . برنامه های نوشته شده توسط هر يک از زبانهای فوق پس از ترجمه به IL تبديل خواهد شد . در صورتيکه کد توليد شده IL هر يک از برنامه های نوشته شده با #C و يا ويژوال بيسيک دات نت را مشاهده نمائيم به شباهت بسيار زياد موجود بين آنها بيشتر واقف خواهيم شد .

    پلات فرم در مقابل زبان برنامه نويسی
    IL ، يک زبان اسمبلی عمومی در مقايسه با زبان های اسمبلی نظير 8080 و يا 6809 نيست . IL ، شامل مجموعه ای از دستورالعمل ها و يک بردار از ويژگی هائی است که بمنظور حمايت از عمليات ضروری و خصايص تعداد زيادی از برنامه های پيشرفته و شی گراء ، طراحی شده است . تاکيد دات نت بر بودن بعنوان يک سيستم شی متداول در مقابل يک زبان برنامه نويسی خاص است . CLR ، مستقيما" ويژگی های زيادی را که عموما" بعنوان خصايص مربوط به زبان های برنامه نويسی مطرح می گردد، حمايت می نمايد . اين موضوع شامل يک سيستم نوع زبان های طبيعی برای حمايت از کلاس ها ، توارث ، نسبت دهی پويا ، مديريت حافظه ، جمع آوری زائده های حافظه ، بررسی و برخورد با موارد غير قابل پيش بينی و ساير موارد مرتبط است . مثلا" يک جمع کننده اطلاعات زائد حافظه ، مسئوليت حذف اشياء غير استفاده شده را از heap و بازيافت حافظه را بر عهده داشته و مهم نيست که کدها با چه زبانی نوشته شده اند .ارائه پتانسيل های فوق در CLR ، يک پل ارتباطی معقول بمنظور تسهيل در ارتباط و يکپارچگی بين زبانها و عناصر را بدنبال خواهد داشت .
    بمنظور تسهيل در ارتباط بين زبانها ، دات نت مشخصه استانداردی را برای زبانها ، تعيين نموده است ( Commom Language Specification:CLS ) . استاندارد فوق ، مجموعه قوانين لازم در ارتباط با امکاناتی نظير: نوع های اساسی ، محدوده های بردار ، نوع های مرجع ، اعضاء ، خصلت ها ، رويدادها و ساير موارد ديگر را تعريف می نمايد . عناصر و کتابخانه هائی که استانداردهای فوق را رعايت و به آنها پايبند باشد بعنوان يک زبان سازگار با CLS شناخته خواهند شد .
    توارث در بين زبانها ، چالش خاصی را در زمان فراخوانی کد سازگار با CLS ايجاد نخواهد کرد. در اين راستا می توان ، يک کلاس پايه را با استفاده از ويژوال بيسيک دات نت ايجاد که از يک کلاس # C ،مشتق شده باشد . ويژگی فوق (ارتباط بين زبانها ) ، يکی از مهمترين پتانسيل های دات نت محسوب می گردد .

    معرفی کتابخانه کلاس فريمورک دات نت
    در اوايلی که ويندوز پياده سازی گرديده بود ، برنامه ها عموما" با زبان C کد واز طريق توابع API مبتنی بر C با سيستم عامل مرتبط و از خدمات مربوطه استفاده می نمودند. اين موضوع در حقيقت بدين علت است که بخش عمده ای از ويندوز خود با زبان C نوشته شده است .پس از طی ساليانی ، رويکرد فوق بر روی استفاده از اينترفيس های مبتنی بر COM انعطاف پذير، تمرکز و امکان استفاده از آنان ( فراخوانی ) توسط برنامه های مبتنی بر C و ساير برنامه های نوشته شده توسط زبان های اسکريپت ، فراهم گرديد.
    دات نت ، رويکردهای فوق را با يک کتابخانه کلاس فريمورک مستقل از زبان جايگزين نموده است . در فريمورک دات نت ، هر چيز بمنزله يک شی در نظر گرفته می شود. ازيک بردار ساده در #C و يا ويژوال بيسيک دات نت ( System.Array ) گرفته تا يک دايرکتوری مربوط به سيستم فايل ( System.IO.Directory ) و يا جمع کننده اطلاعات زائد در حافظه ( System.GC ) . همانگونه که قبلا" اشاره گرديد ، کلاس های فريمورک دات نت بر اساس عملکرد و منطق مربوطه گروبندی و در مجموعه ای از namespace ها سازماندهی شده اند. در اين راستا بيش از يکصد namespace بهمراه دات نت ارائه شده که برخی از آنان شامل ده ها کلاس می باشند. ذکر تمامی namespace ها بهمراه کلاس های موجود در آنان ، کار مشکلی بوده و امکان آن از حوصله اين مقاله خارج است . علاقه مندان می توانند در اين راستا به مقاله : " [برای مشاهده لینک ها عضو سایت شوید برای عضویت در سایت بر روی اینجا کلیک کنید]" ، مراجعه نمايند .

    برنامه نويسی کلاس های فريمورک دات نت
    Namespace ، روشی مناسب بمنظور تقسيم منطقی گروه هائی از کلاس های مرتبط با يکديگر است . کلاس ها خود بصورت فيزيکی در فايل های DLL قرار گرفته وبهمراه فريمورک دات نت ، ارائه شده اند . فايل های DLL در دايرکتوری زير قرار دارند :

    C:\WINNT\Microsoft.NET\Framework\<.NET Version>
    در صورتيکه يک برنامه از کلاس های موجود در ساير DLL ها ، استفاده نمايد ، می بايست در زمان ترجمه، برنامه به DLL مربوطه مراجعه نمايد . مثلا" کلاس SecurityIdentity از namespace با نام System.EnterpriseServices در System.EnterpriseServices.dll قراردارد. بمنظور ترجمه يک برنامه # C که از کلاس فوق استفاده می نمايد می بايست از گزينه reference/ کمپايلر استفاده و نام dll مربوطه را مشخص نمود. ( يکی از روش های زير )
    csc /reference:System.Enterpriseservices.dll MyProg.cs

    csc /r:System.Enterpriseservices.dll MyProg.cs
    لازم به اين نکته مهم اشاره گردد که يک تناظر يک به يک بين namespace و فايل های DLL وجود ندارد . يک DLL ممکن است شامل کلاس هائی از چندين namespace متفاوت بوده در حاليکه کلاس هائی از namespace های مشابه ممکن است بصورت فيزيکی در بين چندين فايل DLL توزيع شده باشند . شکل زير نحوه استقرار فريمورک بهمراه مدل پياده سازی دات نت را نشان می دهد .
    متا ديتا از کتابخانه کلاس فريمورک دات نت بسمت کمپايلر #C حرکت می نمايد . کمپايلر از متاديتا بمنظور ترجمه مراجعات به نوع ها در زمان ترجمه، استفاده خواهد کرد. همانگونه که در شکل فوق مشاهده می گردد ، CLR عمليات pulling را در رابطه با IL و متا ديتا برای هم برنامه و هم کلاس های فريمورک استفاده شده ، انجام خواهد داد .
    جايگاه ASP و ADO در دات نت
    ممکن است با ASP و يا ADO آشنا بوده و اين سوال مطرح گردد که امکانات فوق به چه صورت با دات نت مرتبط می گردند؟ در پاسخ به سواال فوق ، می بايست به اين نکته اشاره نمود که تکنولوژی های فوق، بعنوان کتابخانه کلاس پياده سازی شده اند. مثلا" System.Data و System.Data.SqlClient و System.Data.SqlTypes ، انواع متفاوتی از namespace های موجود بوده و بعنوان بخشی از زير سيستم جديد ADO.NET مطرح می باشند. در مقابل System.Web و System.Web.UI و چندين namespace ديگر بخشی از زير سيستم جديد ASP.NET را تشکيل می دهند. در روشی مشابه ، فريمورک دات نت ، امکانات لازم در خصوص طراحی و پياده سازی رابط کاربر برنامه های ويندوز را از طريق کلاس های فرم های ويندوز System.Windows.Forms ، ارائه می نمايد.
    دات نت ، امکانات مناسب و يکپارچه ای را بمنظور پياده سازی برنامه های مبتنی بر وب و ويندوز ارائه و فصل جديدی را در عرصه طراحی و پياده سازی نرم افزار خصوصا" برنامه های توزيع شده ، ايجاد نموده است . شناخت پلات فرم فوق ، شرط اوليه استفاده مطلوب و هدفمند در رابطه با طراحی و پياده سازی نرم افزار در عصر حاضر برای علاقه مندانی است که محيط مايکروسافت را برای طراحی و پياده سازی نرم افزار انتخاب و يا قصد گزينش آن را دارند .

  4. کاربر روبرو از پست مفید Travis سپاس کرده است .

    mr.bahram (04-08-2008)

  5. #3
    تاریخ عضویت
    Nov 2007
    محل سکونت
    Earth
    نوشته ها
    84
    سپاس ها
    0
    سپاس شده 44 در 27 پست

    پیش فرض پاسخ : دات نت برای شروع

    دات نت ، پلات فرم جديد ماکروسافت بمنظور تحقق نظريه : " نرم افزار بعنوان سرويس " ، است . دات نت يک محيط پياده سازی است که بکمک آن می توان اقدام به ايجاد و بکارگيری نرم افزار و نسل جديدی از عناصر موسوم به " سرويس های وب " ، نمود. تمامی محصولات اصلی ماکروسافت از ويژوال استوديو دات نت تا ويندوز و نهايتا" مجموعه آفيس ، متاثر از پلات فرم فوق شده و خواهند شد . دات نت به پياده کنندگان اين امکان را خواهد داد که با زبان برنامه نويسی مورد علاقه خود ، اقدام به پياده سازی برنامه ها نمايند. ويژگی ( پتانسيل ) فوق از طريق معرفی 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) ، دات نت را معرفی نمود.

  6. کاربر روبرو از پست مفید Travis سپاس کرده است .

    aBoD (03-21-2010)

  7. #4
    تاریخ عضویت
    Nov 2007
    محل سکونت
    Earth
    نوشته ها
    84
    سپاس ها
    0
    سپاس شده 44 در 27 پست

    پیش فرض پاسخ : دات نت برای شروع

    مروری بر فريمورک دات نت
    فريمورک دات نت ، تمامی لايه های پياده سازی نرم افزار را از سطح سيستم عامل به بالا ، تحت پوشش قرار می دهد. فريمورک فوق، سطحی مناسب وقدرتمند از ارتباط و همبستگی بين تکنولوژی
    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
    ، ناميده می شوند .

  8. کاربر روبرو از پست مفید Travis سپاس کرده است .

    aBoD (03-21-2010)

  9. #5
    تاریخ عضویت
    Nov 2007
    محل سکونت
    Earth
    نوشته ها
    84
    سپاس ها
    0
    سپاس شده 44 در 27 پست

    پیش فرض پاسخ : دات نت برای شروع

    درابتدا لازم است تعريفی از 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 را قادر به حمايت از مجموعه گشترده ای از ابزارها می نمايد . برخی از استفاده کنندگان متاديتا ، عبارتند از :


    • طراحان
    • ديباگرها
    • توليد کنندگان پروکسی
    • ساير کمپايلرها
    • مرورگرها نوع / شی

  10. کاربر روبرو از پست مفید Travis سپاس کرده است .

    aBoD (03-21-2010)

  11. #6
    تاریخ عضویت
    Nov 2007
    محل سکونت
    Earth
    نوشته ها
    84
    سپاس ها
    0
    سپاس شده 44 در 27 پست

    پیش فرض پاسخ : دات نت برای شروع

    حمايت و ارتباط چندين زبان
    مهمترين ويژگی و بنوعی هدف
    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 ، خواهند شد.

  12. کاربر روبرو از پست مفید Travis سپاس کرده است .

    aBoD (03-21-2010)

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •