سالها است كه NET Framework به
عنوان مهم ترین و جدید ترین فن آوری ساخت نرم افزار، مورد استفاده برنامه
نویسان قرار میگیرد، این چارچوب به منظور ایجاد یک محیط برنامه نویسی جدید برای
توسعه هر نوع برنامه کاربردی روی ویندوز طراحی شده است. مطالب عنوان شده در این
نوشتار، خصوصیات .NET Framework 3.5 را در بردارد.
مزایای NET
در این بخش ، برخی از
خصوصیات مهم .NET را به طور مختصر شرح میدهیم.
برنامه نویسی شیء گرایی: .NET
Framework بطور کامل مبتنی بر قواعد کلی شیءگرایی میباشد.
طراحی خوب: این چارچوب مشتمل بر یک کتابخانه کلاس پایه است كه در بخش
های مختلف ساخت یك نرمافزار بكار میروند.
استقلال زبان: با .NET،
تمامی زبانهای Visual Basic.NET، C# ، J# و C++ به یک زبان میانی مشترک کامپایل می
شوند. به این معنی که این زبانها با روشی که قبلاً بنظر نمی رسیده است قابل اعمال
هستند.
پشتیبانی
بهتر صفحات وب پویا: با اینکه ASP
انعطافپذیری بالایی را عرضه کرده است، میتوان گفت که هنوز هم غیرمؤثر و ناکارآمد
است، زیرا با بکارگیری زبانهای اسکریپتی تفسیر شده و عدم بکارگیری یک طراحی
شیءگراء، اغلب کد ASP درهمی را تولید می کند. .NET پشتیبانی جامع و خوبی را با استفاده از تکنولوژی جدید یعنی ASP.NET برای صفحات وب ارائه داشـته اسـت. با ASP.NET ، کددر صفحات شما کامپایل شده، و ممکن است در.NET ، با زبانهای سطح بالایی مانند C# ، J#یا Visual Basic
2005نوشته شده باشد.
> دسترسی مؤثر به داده ها : یک
مجموعه از کامپوننتهای .NET ،
که جمعاً با عنوان ADO.NET
شناخته میشوند، دسترسی مؤثری را برای بانک اطلاعاتی رابطه ای و منابع داده
گوناگون مهیا میکنند. همچنین کامپوننتها برای اجازهی دستیابی به سیستم فایل و
پوشهها قابل دسترس هستند. بویژه اینکه .NET ،
میتواند XML را با دادن مجوز تغییر
دادههایی که ممکن است از یک بستر غیر ویندوزی وارد یا خارج شده باشند، پشتیبانی
میکند.
به اشتراک گذاشتن کد: .NET با
معرفی مفهوم اسمبلی( assembly )
که جایگزین DLL های قدیمی است، روش
اشتراکگذاری کد را بطور کلی بین برنامهها تغییر داده است. اسمبلیها یکسری
قوانین قراردادی برای تفسیر دارند، و نسخههای مختلف از آنها میتوانند در کنار هم
قرار بگیرند.
امنیت بالا : هر اسمبلی میتواند شامل اطلاعات امنیتی از قبل ایجاد
شده باشد که میتواند مشخص کند که چه کسی یا چه گروهی از کاربران یا فرایندها
اجازه فراخوانی چه توابعی را روی چه کلاسهایی دارد. این کار امکان استفاده از یک
درجه بالای کنترلی برای چگونگی استفاده از اسمبلیهای نوشته شده را به شما خواهد
داد.
نصب ساده : دو نوع کد اسمبلی وجود دارد: به اشتراک گذاشته شده و
خصوصی. اسمبلیهای به اشتراک گذاشته شده، کتابخانههای مشترک موجود در کلیه نرمافزارها
هستند، در حالی که، اسمبلیهای خصوصی، تنها جهت استفاده با یک نرمافزار خاص معنی
خواهند داشت. یک اسمبلی خصوصی، ذاتاً محتاط و خوددار است، بنابراین فرایند نصب آن
ساده میباشد. نیاز به ورود هیچ اطلاعاتی در رجیستری نداشته و فایلهای لازم به
راحتی در شاخه مناسبی در سیستم فایل قرار خواهند گرفت.
پشتیبانی سرویس های وب: .NET جهت
توسعه سرویسهای وب، به خوبی نوشتن برنامههای کاربردی دیگر، پشتیبانی می شود.
q Visual Studio 2008 .NET : همراه یک محیط برنامهنویسی
به نام Visual Studio 2005
عرضه شده که میتواند مانند ASP.NET ،
به خوبی از عهده زبانهای C++ ، C# ، J# ، Visual Basic 2005 برآید. Visual Studio 2008 به منظور مرتبط کردن محیطهای
زبان Visual Studio .NET 2002/2003 و Visual Studio 6 ، تمام خصوصیات خوب آنها
را با یکدیگر ادغام و یکپارچه کرده است.
معرفی .NET
Framework 3.5
آخرین نسخه از .NET
Framework ، .NET Framework 3.5 معرفی شده است. این نسخه از framework توانایی های جـدید و مـهیجـی را ارائه میدهـد. در ایـن نسـخه،
توانایـی سـاخت نـوعی برنامه جـدید با استـفـاده از Windows
Presentation Foundation (WPF) به خوبی ساخت برنامه ها و کتابخانه های مبتنی بر Windows Communication
Foundation (WCF) ، Windows
Workflow Foundation (WF)و Windows CardSpace به شما داده میشود. در زیر به توضیح هر كدام از این بخشها
پرداخته ایم.
Windows Communications Foundation :بستری برای ارتباطات
شبکه میباشد. این بستر سرویسها و امکاناتی برای برنامهنویسی ارتباطی فراهم کرده
و در اختیار شما قرار میدهد.
Windows Presentation Foundation :امکاناتی که این بستر در
اختیار شما قرار میدهد، برای لایهPresentبرنامه شماست. به زبان سادهتر برای UI برنامه خواهد بود. در .NET 3.0 طراحی UI برای محیط وب و براینرمافزارهای
مبتنی برWindows خیلی شبیه به هم
شده است. اصول طراحی UI در
این بستر مبتنی بر زبانXAML
است. <!--[endif]-->
Windows Workflow Foundation : برای شناخت این بستر
کاملاً جدید باید ابتدا معنیWorkflow
را بدانید.یعنی توالی انجام دادن فعالیتها در یک ترتیب مشخص. windows Workflow Foundation ، امکاناتی برای کار با Workflow ها در اختیار شما قرار میدهد.
Workflow
Windows CardSpace: این بستر برای ایجاد و
استقرار هویت دیجیتال با یک دیدگاه جدید و امن طراحی شده است.
کلاسهای .NET
Framework
شاید یکی از بزرگترین مزیتهای
نوشتن یک کد مدیریت شده، لااقل از یک دید برنامه نویس، این باشد که مجبور به
استفاده از کتابخانه کلاس پایه .NET
خواهید بود.
کلاسهای پایهی .NET مجموعهی بزرگی از کلاسهای مدیریت شده هستند که تقریباً به شما
اجازه انجام هر کاری را که قبلاً توسط API
ویندوز امکان انجامش بوده را میدهند. این کلاسها از آبجکتهای مشابه مدل IL پیروی میکنند که بر پایه ارثبری تنها گذاشته شدهاند. این بدان
معناست که شما میتوانید اشیاء را از هر کلاس پایه ای .NET نمونه گیری کرده، یا اینکه میتوانید کلاسهای خود را از آنها
مشتق بگیرید.
نکته مهمی که درباره کلاسهای
پایه ای .NET وجود دارد این است که آنها
طوری طراحی شده اند که بسیار واضح بوده و استفاده راحـت داشـته باشـند. به طور
مثال، برای شروع یک نخ (thread) ،
شما تابع Start() موجود
در کلاس نخ (Thread) را فراخوانی میکنید.
برای غیرفعال کردن یک TextBox ،
خصوصیت Enabled شئی TextBox را false میکنید. این مسئله در مقایسه با
برنامه نویسان آشنا به زبانهای برنامهنویسی Visual Basic و Javaکه
استفاده از کتابخانه های مربوط به آنها ساده است، برای برنامه نویسان C++ یعنی کسانی که سالها مجبور به
استفاد ه مستقیم از توابع API
مانند GetDIBits() ، RegisterWndClassEx() و IsEqualIID() ، و یا توابعی که نیاز
به انتقال Windows handle
دارند بوده اند، بسیار ساده خواهد بود.
از طرف دیگر، برنامه نویسان
C++ همیشه دسترسی راحتی به کل API ویندوز داشتند، در حالی که
برنامه نویسانVisual Basic و Java محدودیت بیشتری در بکارگیری توابع پایه سیستم عامل داشته اند،
چون دسترسی آنها تنها از طریق زبان برنامه نوبسی مربوط به خود بوده است. چیزی که
در مورد کلاسهای پایه ای .NET جدید
است، سادگی در استفاده از آنها میباشد که میتواند آنها را نوعی از کتابخانه های
Visual Basic و Java دانست که پوشش بسیار وسیعی از توابع API ویندوز دارند. خصوصیات زیادی از ویندوزها وجود دارند که هنوز هم
بواسطه کلاسهای پایه در دسترس قرار نمیگیرند، و برای بکارگیری آنها نیاز به
فراخوانی مستقیم توابع API خواهیم داشت. البته بطور کلی
این توابع بیشتر به یکسری خصوصیات کم کاربرد و نامتعارف محدود میشوند. به منظور
استفاده مداوم، شما احتمالاً کلاسهای پایه مؤثرتر و پرکاربردتر را پیدا میکنید.
و درصورتی که نیاز به فراخوانی توابع API داشته
باشید، .NETفراخوانی platform-invoke را پیشنهاد میکند که شما را از درست برگردانده شدن انواع داده
مطمئن میسازد، بنابراین در مقایسه با فراخوانی مستقیم تابع از درون کد C++ ، کار سختی نیست .
برخی از شرایط کلاسهای پایه
.NET 3.5 شامل موارد زیر میباشند:
خصوصیات اصلی تولید شده توسط IL (شامل انواع داده اولیه در CTSمیباشد)
پشتیبانی و کنترل GUI ویندوز
پشتیبانی فرمهای وب
بكارگیری مكانیسمهای پیشرفته دسترسی به داده
ها
دسترسی به دایرکتوری
دسترسی به سیستم فایل و رجیستری
جستجوی وب و شبکه
خصوصیات و تعامل .NET
دسترسی به زوایای سیستم عامل ویندوز
عملیاتی کردن COM

