دوشنبه, ۲۴ دی, ۱۴۰۳ / 13 January, 2025
دات نت برای شروع
از زمان معرفی دات نت توسط مایکروسافت در تابستان ۲۰۰۰ ، تعداد زیادی از علاقه مندان به دنیای گسترده کامپیوتر خصوصا" طراحی و پیاد ه سازی نرم افزار، همواره با این سوال مواجه بوده و هستند که دات نت چیست و استفاده از آن چه دستاوردهائی را برای استفاده کنندگان بدنبال خواهد داشت ؟ اجازه دهید تعریف دات نت را عینا" از خود مایکروسافت نقل و قول نمائیم :" دات نت ، پلات فرم مایکروسافت برای سرویس های وب XML است " . بمنظور شناخت تمامی ابعاد دات نت لازم است به موارد زیر نیز توجه گردد :
●دات نت ، پلات فرمی جدید بمنظور پیاده سازی و بکارگیری برنامه های مدیریت یافته ، شی گراء و پیشرفته است .
●بمنظور پیاده سازی برنامه های دات نت می توان از زبان های برنامه نویسی متفاوتی استفاده کرد (کد تولید شده توسط کمپایلر ، Runtim دات نت خواهد بود ) .
●دات نت ، کتابخانه کلاس گسترده ای را ارائه می نماید.
دات نت ، روشی جدید بمنظور پیاده سازی برنامه تحت ویندوز ( Desktop application ) را با استفاده از کلاس های فرم های ویندوز ، ارائه می نماید .
●دا ت نت، امکان تشریح خودکار عناصر نرم افزاری را ارائه و حمایت می نماید .
●دات نت ، امکاناتی نظیر : ارتباط بین زبان ها ، عناصر مستقل از زبان برنامه نویسی با قابلیت استفاده مجدد و توارث در بین زبان ها را ارائه می نماید .
●دات نت ، روش جدیدی برای پیاده سازی برنامه های مبتنی بر مرورگر ( برنامه های وب ) را با استفاده از کلاس های ASP.NET ، ارائه می نماید.
●کلاس های ADO.NET مربوط به دات نت ، یک معماری جدید غیر متصل برای دستیابی به داده ه از طریق اینترنت را ارائه می نما یند .
●دات نت ، امکان ایجاد سرویس های وب XML مستقل از پلات فرم را با استفاده از استانداردهائی نظیر :
SOAP)Simple Object Access Protocol) و WSDL)Web Service Description Langauge ) ارائه می نماید .
●دات نت، یک معماری جدید برای پیاده سازی و بکارگیری اشیاء راه دور را ارائه می نماید .
●دات نت ، تکنولوژی ها ی متعددی از ویندوز را حمایت می نماید.
بنظر حکایت دات نت همچنان ادامه و ما با واقعیتی بسیار بزرگ و توانمند روبر هستیم . برای شرکت مایکروسافت مهمترین تحول پس از عرضه ویندوز ، معرفی دات نت است . پیاده کنندگان نرم افزاری که تمایل به استفاده از پلات فرم فوق را دارند ، می بایست بسرعت با چارچوب و مفاهیم اولیه آن آشنا شده تا زمینه استفاده معقول و منطقی از آن فراهم گردد.
●پیاده سازی در دات نت
برای پیاده کنندگان نرم افزار تحت ویندوز ، دات نت امکانات متعددی را از ویژوال ++ 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 تمام عملیات مورد نیاز بمنظور استفاده از پتانسیل های دات نت است .
●دات نت و کد مدیریت یافته ( اداره شده )
نحوه اجراء برنامه های دات نت تابع مدلی است که در شکل فوق ، نشان داده شده است . کد تولید شده که مقصد آن CLR فریمورک دات نت باشد را برنامه های مدیریت یافته ( managed applications ) می گویند. در مقابل،برنامه های ویندوز غیر از دات نت با نام برنامه های غیرمدیریت یافته ( unmanaged applications ) از آنان یاد می گردد. مایکروسافت بر این مسئله تاکید نموده است که در حال حاضر و طی سالیان آتی نیاز به این نوع برنامه ها وجود داشته( برنامه های غیرمدیریت یافته ) و تمهیدات لازم در خصوص ارتباط بین آنها اندیشیده شده است. متداولترین نیاز در این رابطه، همزیستی برنامه های دات نت در کنار عناصر COM است . بدین منظورمایکروسافت ، امکان فعالیت و کار برنامه های دات نت را با عناصر غیرمدیریت یافته COM ، فراهم نموده است . در این راستا می توان یک عنصر دات نت را بعنوان یک شی COM ریجستر کرد. در رویکردی مشابه ، دات نت امکان دستیابی به Win۳۲ API برای برنامه های دات نت را فراهم تا از این طریق و در صورت تمایل و ضرورت ، عناصر مدیریت یافته قادر به فراخوانی توابع غیر مدیریت یافته موجود در یک DLL)Dynamic Link Library) ، باشند .
CLR ، علاوه بر اینکه امکان ترجمه کدهای IL را به کد مختص یک ماشین فراهم می نماید ، عملیات مدیریتی لازم در خصوص برنامه ها را نیز انجام خواهد داد. استقرار یک برنامه در حافظه ، بررسی صحت کد ، حفاظت برنامه ها از یکدیگر ، تاکید بر مسائل امنیتی ، ارائه سرویس های اشکال زدائی ، نمونه هائی از خدمات ارائه شده توسط CLR می باشند . مدیریت کد توسط CLR ، یک لایه اضافه را ارائه و باعث جداسازی برنامه ها از سیستم عامل می گردد . در گذشته سرویس های ارائه شده توسط لایه فوق در خود برنامه و با استفاده از امکانات ارائه شده سیستم عامل ارائه می گردید.
متا دیتا و ضرورت انتشار و همراهی آن با کد IL یکی از جنبه های کلیدی دات نت است . برای افرادیکه با COM و CORBA آشنائی دارند ، متا دیتا بمنزله شکل خاصی از یک IDL)Interface Definition Language) بوده که بصورت اتوماتیک توسط کمپایلر زبان مربوطه تولید می گردد. متادیتا مسئول تشریح نوع ها ، شامل فیلدهای مربوطه ، خصلت ها ، امضاء( تائید) متد بوده و عملیات حمایتی لازم را در این خصوص ارائه می نماید. با تولید اتوماتیک این داده در زمان ترجمه ، عناصر دات نت بصورت خود تشریح شده و نیازمند سایر اطلاعات مورد نیاز برای استفاده از عناصر دات نت نوشته شده با زبانهای برنامه نویسی متفاوت بمنظور ارتباط یین آنها وجود نخواهد داشت .
●اولین برنامه دات نت
برنامه زیر ، یک برنامه خط دستوری نوشته شده با زبان #C بوده که به کاربر یک پیام را نمایش می دهد .
▪برنامه نمونه دات نت نوشته شده با C#
// compile : csc hello.cs using System; class Hello { public static void Main() { Console.WriteLine("Hello from C#")
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست