حامی فایل

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

حامی فایل

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

دانلود مقاله “ ون ها ” در مقابل “ دات کام ” ها - شبکه های دارای ارزش افزوده

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

 

 

با وجود هیجان ساخت و اکتشاف کمپانیهای دات کام ، شرکتهای تجاری چندی که در حال اثبات یک خط مشی در عرصة تجارت الکترونیک می باشند فاقد تاج یا تلالو دات کام می‌باشند .
بسیاری از اینها موسوم به شبکه های با ارزش افزوده (VAN) می باشند که خدمات تبادل اطلاعات الکترونیک (EDI) ارائه می کنند .
اکنون ون ها در حال آماده شدن برای سوار شدن بر وسایل نقلیه شان و پرواز علامت اینترنت می باشند . بعضی از آنها نسبتاً کند هستند زیرا مشغول طراحی و ساخت مجدد کمپانیهایشان و توسعه محصولات جدید می باشند . این کمپانیها برای چندین سال با ادغام کردن فرایندهای تجاری مشتریان به پیشرفت گسترده خود می پرداختند . آنها دارای عرض و درجه کارایی مستقر شدن می باشند که در شبکه های دات کام بطور استوار یافت نمی شوند که ابتدا برای وِب دندان تیز کرده بودند و سپس نیاز به یکپارچه‌سازی با شرکتهای قانونی را احساس کردند با نفوذ بیشتر و عمیق تر تجارت الکترونیکی به داخل شرکت های داخلی ، شرکت های دیگر از قبیل VAN ها این فرصت را پیدا کردند تا در درخشش نورانی دات کام حمام آفتاب بگیرند . اما خیلی زود است که بگوییم آیا درک عمومی موافق با این شرکتها می باشد که در این بازار بزرگ بوسیله ی گروههای دات کام رایج به جمع آوری سرمایه می پردازند .
اگرچه اکثر دات کام های نخستین ستارة باقی ماندن در فضای تجارت - مصرف کننده بودند . بازار بزرگتر شامل تجارتِ عرصه ی تجارت است که در عرصة بدست آمده مخصوصاً برای مال التجاره غیر مستقیم دات کام هایی مانند
Commerce one, Arabic شروع می کنند به استفاده از کمپانیهای با میراث VAN همانند Harbinger , Stering Commer ce .
یک پرسش این است که آیا شرکت های ظهور کننده از میراث VAN می توانند صدای جلزوولز استیک‌شان را در بیاورند و از استیک شان در جامعه ی تجاری محافظت کنند . بعلاوه اینکه می دانند که معامله به محض ورورد به عرصه قبل از ورود تازه واردین یک تفکر جمعی در آنجاست .
این مهم است که بخاطر داشته باشیم که تمام این شرکتها بر روی عرصة کالاهای غیر مستقیم تمرکز دارند . قصد آنها هم ساخت گذرگاه تجاری است یا هاب ها در محدودة Stering Commerce برای عرضه زیر ساختار و هم ابزارهایی برای هاب ها یا گذرگاههای تجاری .
طراحی هاب مدل تجارت به تجارت که قابلیت در جه بندی بالایی دارد یک هدف دارد که پینشهاد یک خرید فوری برای چندین خریدار و فروشنده می باشد .
با این حال این بحث برانگیز خواهد بود ؟ موارد زیر را ملاحظه کنید :
- دات کام ها تاثیر می گذارند بر سهم آنها از فشار و شروع تازه با مدل یک هاب یا میانجی . دات کام ها انتظار داشتن بازاری با ارزش افزوده را دارند .
- VAN ها میراث گسترده ای دارند در داشتن شبکه های تبادل اطلاعات و اداره کردن و مجتمع شدن با سیستمهای IT مشتری ها . اینها می توانند اثبات کنند که پیشرفت گسترده در تجارت شغل - شغل احتیاج به مهارت دارد .
- ون‌ها اغلب جریان سود در حال گسترش از تجارت EDI های خودشان دارند . به هر حال تلاش VAN ها بطور گسترده بر روی جواب های مشخص مشتری متمرکز بوده .
- اندازه فرصت جذب بازار ، ایجاب می کند که نیازهای تمام بازیگران برآورد شود تا سیستم‌های یکپارچه ساز را بکار گیرند . از مزیت VAN ها در دارا بودن این مهارت ها می‌باشد .
- این غیر قابل تصور نیست که بازیگران جدید وقتی سرمایه بدست می آورند امکان دارد یک VAN بخرند . بیاد داشته باشید که VAN ها مهارت زیادی دارند و پایگاه‌های مشتری آنها شامل شرکت های بزرگ هستند که هدف های اصلی در حوزه‌ی کالاهای غیر مستقیم می باشد .
در اینجا چند راهنمایی در دورنمای نتایج بدست آمده وجود دارد ،
کالاهای غیر مستقیم موسوم به MRO ( نگهداری ، تعمیر و اداره کردن ) معمولاً شامل خرید‌های بیشمار از فراهم کنندگان متعدد می باشند .
مدل یک هاب یا میانه در سطح پیچیده تر شامل یکپارچه سازی کاتالوگ است که کار ساده ای نمی باشد. امید بر این است که وقتی XML ظاهر می شود باعث بهبود توانایی ها شود . هر چند این تلاشی نیست که بوسیله ی یک قلب ضعیف برعهده گرفته شود .
کالاهای مستقیم که نهایتاً بخشی از فروش محصول نهایی را بوجود می آورند کانون توجه EDI بوده است و VAN هایی که EDI را ساخته اند . علارغم تلاش برای استاندارد کردن فرم ها و فرمت‌ها ، EDI بزرگ ساخته شد . برای کار کردن بین درخواست A و درخواست B در دو شرکت خاص استفاده از EDI محدود به موردهای مستقیم است که برای ان حجم دلار هر مورد برای توجیه هزینه تبدیل این خریدها به EDI کافی باشد .
گونه ای از کشمکش در خریدار سایت وجود دارد . بازیگران ERP از طبقه فوقانی خودشان حمایت می کنند و تلاش می کنند به رقابت ادامه دهند با بدست آوردن پیشنهادات بوسیله ی ادامه دادن به استعداد ERP خودشان .
واضح است که بازیگران جامعه ی تجاری تلاش دارند تا با بسته های ERP اصلی ارتباط برقرار کنند . یک جامعه ی تجاری که رابطه ها را برای سیستمهای ERP یک شرکت بزرگ فراهم می کند احتمالاً مزایایی را پیشنهاد می نماید زیرا پیشنهادات ERP مختلف تمایل کمتری دارند که با یکدیگر ارتباط ایجاد نمایند . Gray sheet فکر می کند که فروشندگان ERP ممکن است بخواهند بر روی رابطه های داخل سیستم موجود خودشان بجای توسعه‌ی بعدی عملکرد آنها تمرکز نمایند . شکل های 1 و 2 یک بازنگری از بازار را نشان می دهد . در خواست های تجدید نظر در بازار و پیش بینی .
چرا کالاهای غیر مستقیم ؟
قانون ساده ای می گوید که کالاهای غیر مستقیم فقط 20 %‌ ارزش تمام خرید ها را در نظر می گیرد ولی 80% معاملات خرید و فروش را شامل می شود .
خرید غیر مستقیم متغیر است و پیش بینی نشده ، و بطور وسیع پراکنده می باشد و به سختی مدیریت می شود . اینها ویژگیهایی هستند که برای آنها یک راه حل بر پایه ی IP مناسب می باشد . صرفه جویی های حاصل از خوکار سازی فرآیند خرید غیر مستقیم می تواند ضروری باشد و آنها مستقیم به سمت پایین حرکت می کنند . اکثر شرکتهایی که IDC دیده است یک برگشت سرمایه گذاری در سیستم های خودشان را در مدت یک سال پیش بینی کرده اند . برای مثال :
- یک شرکت داروسازی جهانی اکنون در حال تخصیص دادن 10% یا 400 میلیون دلار از 4 میلیارد دلار خودش به خرید MRO سالیانه برای یک راه حل اینترنتی است و انتظار دارد که صرفه جویی هزینه برابر 10% آن خریدها یا 4 میلیون دلار تنها در اولین سال بدست آید .
- یک شرکت بیمه ی بزرگ 20 میلیون دلار صرفه جویی را با هدایت کردن 70% الی 80% از خرید غیر مستقیم اش از طریق کاتالوگ online اش پیش بینی می کند .
- یک شرکت نفتی قصد دارد تا به 10 میلیون دلار صرفه جویی برسد و یک سوم سرمایه ی 607 میلیارد دلاری اش را صرف خرید سالیانه برای اینترنت در امسال نماید.
کاتالوگ ها اجزای کلیدی در بدست آوردن سود غیر مستقیم هستند ولی فرآیند یکپارچه‌سازی کاتالوگ های مختلف آسان نمی باشد . حتی با مزایای XML . کارها وقتی پیچیده می شوند که سیستم یک زمان بندی تخفیف خریدار ویژه را در نظر بگیرد . به هر حال مزایایی برای خریدار می تواند مطرح باشد از قبیل یک صورت حساب واحد برای پرداخت و دردسر تقسیم کردن سرمایه میان کارپردازان مخصوص که به هاب وابسته اند .
راههای مختلفی برای اجرای مدیریت کاتالوگ وجود دارد .
- کاتالوگ تمام خدمات دهندگان که بصورت یک خریدار واحد عمل نمایند و در محل سایت خریدار میز بانی شوند .
- جمع آوری کاتالوگ تمام عرضه کنندگانی که میزبان خریداران مختلف می باشند .
- کاتالوگ تمام عرضه کنندگان مخصوص راس .
- کاتالوگ هر عرضه کننده در کاتالوگ مجزا .

 

حرکت های جسورانه BOLD STROKE
Commerce one به حرکت های جسورانه فکر می کند . و نرم افزار راه حل زنجیری تجارت را برای BT,NTT ذکر کرده است . در زمان معاملات آینده ، Commerce one یک تعرفه برای هر معامله اختیار می نماید که در این سایت ها رخ می دهد .
این telecom های بزرگ خدماتی را برای شرکت در حوزه های خودشان ارائه می کنند . همچنین commerce one سایت تجاری خودش را بکار انداخته است . Market site.net که با کاربردهای خرید انتخاب شده قابل حصول است . از قبیل SAP ها و R2 و R3 که طرح ها را خریداری می کند همانطور که ccommerce سایت راخرید .
عرضه کنندگان ممکن است به Market site.net از طریق یک مرور گر دسترسی داشته باشند و یکپارچه سازی با Biz Talk طرح ریزی شود و لایه هایی در داخل لایه های خدمات وجود داشته باشد که شامل بارگیری مالیات و پرداخت خدمات است . این امر شبیه به کار سایت های سرویس دهنده ی فراهم کننده سرویس درخواست (ASP) می باشد .
با استفاده از فن آروی XML به دست آمده از سیستم های Veo ، Market site قادر است که کاتالوگ واحدی را از فراهم کنندگان چندگانه تولید کند .

 

 

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

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

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

 


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


دانلود مقاله “ ون ها ” در مقابل “ دات کام ” ها - شبکه های دارای ارزش افزوده

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

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

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


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

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

 

 

 

 

 

این مقاله به صورت  ورد (docx ) می باشد و تعداد صفحات آن 31صفحه  آماده پرینت می باشد

چیزی که این مقالات را متمایز کرده است آماده پرینت بودن مقالات می باشد تا خریدار از خرید خود راضی باشد

مقالات را با ورژن  office2010  به بالا بازکنید


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


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

دانلود پایان نامه درباره تکنولوژی دات نت .net

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

دانلود پایان نامه درباره تکنولوژی دات نت .net


دانلود پایان نامه درباره تکنولوژی دات نت .net

دانلود متن کامل  با فرمت ورد  word

 

 

فهرست مطالبعنوانمهصفحهپیش گفتار1بخش اول: .NET Framework مقدمه ای درباره .NET3-زبان میانه (IL)7-مقدمه ای برای مدیریت حافظه .NET8-سیستم نوع چارچوب .NET10موضوعات سیستم چارچوب.NET11-چگونه موضوعات، خود را تعریف می کنند11-عمل پذیری متقابل الگوی موضوع مولفه (Com)12فرمهای ویندوز، کنترل های وب و GDT+12-ابزارها15اسمبلی‏ها، سیستم بسته بندی .NET15برنامه نویسی   با صفات (Attributes)16امنیت (Security)17بخش دوم: زمان اجرای زبان عمومی (CLR) -مرور کلی17-ساده سازی توسعه18پشتیبانی ابزار19پشتیبانی زبان چندگانه19– آماده سازی آسان تر می شود.20– جداسازی نرم افزار21– وارسی و امنیت نوع.22– رابطه CLR با NET.23– جزئیات CLR23– CLR درزمان اجرا24– انواع داده های پشتیبانی شده توسط CLR26– کد و داده های اداره شده29– رمز اداره نشده و دستیابی به داده ها30– COM Interop از طریق CLR31– الحاقات اداره شده به C++36– پشتیبانی از اشکال زدایی37– خلاصه37-بخش سوم : معرفی Visual Studio . NET – محیط توسعه مجتمع (IDE)38– بخش A: ناحیه اصلی ویرایش39– بخش B: راه حل ها Help , Items , Classes , (Solutions)39– راه حل ها و جستجو گر راه حل40– پروژه ها41– وابستگی های پروژه43نمای کلاسی (Class View)44نمای منبع (Resource View)44جستجوگرماکرو (Macro Explorer)45-راهنمای دستی45-بخش C: جعبه ابزار و Server Explorer47بخشD: تکالیف (Tasks)، خروجی (Output)، نتایج جستجو و مشاهدات49بخش E: خصوصیات (Properties) راهنمای پویا (Dynamic Help) و برگزیدگان (Favorites)53-برنامه‏های اشکال زدایی58-الفبای تصویری نقطه توقف60تنظیمات نقطه توقف پیشرفته61-نقطه‏های توقف شرطی62-شمارش دفعات (Hit Counts)62-هنگام مکث رمز چه باید کرد؟63-ضمیمه شدن اشکال زدا به یک فرآیند64-اشکال زدایی JIT64بخش چهارم : برنامه کاربردی نمونه فرمهای ویندوز (Scribble.NET)66  –منابع در .NET66-پیج و مهره‏های محلی سازی67-کلاسهای مدیریت منابع .NET68-بدست آوردن فرهنگ مورد نظر69– ایجاد منابع متنی70-استفاده از Visual Studio .NET برای بین المللی کردن72-منابع تصویری73-استفاده از لیستهای تصویری73-دسترسی برنامه ای به منابع77-خلاصه78بخش پنجم: ASP.NET -وب جدید79– اساس ASP.NET80-افزودن موارد اصلی83-امتحان ایده‏ها85-خلاصه89بخش ششم : خدمات وب (Web Services) -تعریف89-Echo Server91-ایجاد یک Proxy93-مشتری فرمهای ویندوز96-برگرداندن نوع های تعریف شده توسط کاربر99-ایجاد خدمات رسان100-ایجاد مقید سازیClient101-صفت های XML102-خلاصه105بخش هفتم: اطلاعات تفصیلی در مورد تکنولوژی .NET به زبان انگلیسی فهرست منابع106  

مقدمه ای درباره NET.
یقیناً، میکروسافت برجسته ترین تحولات را در صنعت رایانه به وجو آورده است. موفقیت های DOS ، حاصل تلاش بی وقفه بیل گیتس و استیوبالمر بود، وقتی آنها به IBM اطلاع دادند که سیستم عاملی برای فروش دارند حرکت قابل توجهی در دنیای رایانه ایجاد شد. میکروسافت با الهام گرفتن از جذابیت اپل مکینتاش سیستم عاملی ایجاد کرد که به طور گسترده در جهان مورد استفاده قرار گرفت و تحولی دوباره در دنیای رایانه بوجود آورد.
اکنون، میکروسافت با ابداع مجدد روشی برای استفاده و برنامه ریزی رایانه ها تحول دیگری در جهان ایجاد کرده است. اگر شما یک برنامه نویس C++ هستید یا اگر با سیستم عامل ویندوز یا کلاس (رده) خیت بنیادین میکروسافت (MFC) کار می کنید، بدون شک کاملاً تحت تأثیر الزامات NET، خواهید بود.
اخیراً اینترنت به رسانه ای تبدیل شده است که ما از طریق آن میتوانیم تجارت کنیم، دوستان خود را ملاقات کنیم، حساب جاری خود را انجام دهیم، بازی کنیم، گپ بزنیم و با اشخاصی که دوست داریم در تماس باشیم . انجام همه کارها از طریق یک نرم افزار نوشته شده، عملی و امکان پذیر شده اند تا ارتباطات ضابطه اینترنت (IP) برای وب جهانی برقرار می شوند. از آن جا که وب پیشرفت نموده و پیچیده تر شده است نرم افزار لازم است برای اجرای آن نیز باید میلیون ها داده IP را به رایانه ما انتقال دهد تا از آن دریافت کند. با استفاده از پست الکترونیکی مرور صفحات وب تعامل (فعل و انفعال) با پایگاه دادهع ها و اجرای برنامه های کاربردی توزیع شده بسیار پیچیده تر شده است و در نتیجه مهارت ها و تکنیک های برنامه نویسی نیز به ایجاد و حفظ نرم افزاری نیاز دارد که پیچیده تر باشد. یک برنامه نویس، اغلب مواقع (و به طور روزانه) با XML , SOAP , ASP , DCOM . CoM+ COM، و XSL و یک آرایه رو به افزایش از SDK های کامل و نیز راهنماییهایی در رابطه با آنها مواجه می گردد.
میکروسافت، بنابر اصل نیازهای فناوری جاری همانند بسیاری از صنعتکاران به طور روزافزون، برنامه های کاربردی، مجموعه ابزارهای و سیستم های عامل و کتابخانه ها قابل حمل نیستند، زیرا بسیار گسترده تر می باشند و همچنین حاوی افزودنی ها، الحاقات (extensions) و توافق ها (compromisers) هستند. چارچوب NET، در اصل آن را تغییر می دهد. این تغییر نه نمونه ی است و نه برای تحکیم کار، بلکه این یک حرکت بسیار بزرگ، برجسته و قابل تأمل است که همه مطالب مربوط به برنامه نویسی رایانه های شخصی شما (در هر شکل و اندازه ای) را دوباره تعریف می کند و شامل خود زبان ها نیز می باشد.
یکی از مهمترین حقایق موجود در مورد چارچوب NET. (و شاید این نظر از جهانی درست نباشد) آنست که این زبان، همانند جاوا از فناوری ماشین مجازی استفاده نمی کند. نرم افزار قابل اجرا در NET کاملاً کامپایل (همگردانی) می شود و همانند کد (رمز) کامپایل شده از یک برنامه C در سطح ماشین اجرا خواهد شد. این تصور غلط رایج از آن ناشی می شود که NET از یک زبان میانه که گاهی اوقات به عنوان “P – code” تعریف می شود، استفاده می کند. NET در واقع روش کامپایل (همگردانی) چند مرحله ای را به کار می برد. یک کامپایل اولیه به یک فرمت (قالب) میانه قابل حمل و یک کامپایل درجا (JIT) برای یک برگه نهایی قابل اجرا در زمان اجرا.
این سیستم (در حالی که نسبتاً پیچیده است) برای انجمن برنامه نویسی فواید زیادی دارد. یعنی در همه زبان ها دارای یک سطح عمومی هستند که در شکل میانه خود آن را به اشتراک می گذارند. بنابر این ترکیبی از ماجول(پیمانه) های نوشته شده در زبان های COBOL . FORTRAN , Eiffel , Visual Basic , C# یا هر زبانی که در آینده پشتیبانی خواهد شد میتواند برای زبان میانه (IL) کامپایل (همگانی) می شود و همراه با شرح کاملی از خود بسته بندی می گردد. رابط ها،خصوصیات (Prroperties) روش ها و کلاس (رده) های آن (همانند فوق داده ها) برای سایر ماجول (پیمانه) ها با محیط های توسعه برنامه کاربردی که سریعاً مجتمع شده اند (نظیر Visual Studio. NET) در دسترس می باشند.
هنگامی که زمان اجرای NET برای اجرای یک برنامه تبدیل شده به IL استفاده می شود، NET از یک JITer برای کامپایل (همگردانی) IL به یک کد ماشین اصلی (درتبدیل کامل) که در ریز پردازنده دستگاه اجرا می شود، استفاده می کند. JITer ها حتی برای برخی از بخشهای بی استفاده کامپایل نشده از کد‌ (رمز) میانه نیز بسیار سریع و مؤثر هستند. بدیهی است که این فرایند کامپایل وقت گیر است، بنابر این وقتی زمان های بارگذاری مهم هستند یا مسأله قابلیت حمل ضروی نیست، این سیستم یک کامپایلر pre – JIT را ارائه می دهد که آن رمز مبتنی بر IL را به یک قالب پایدار و اصلی تبدیل می کند.
چهارچوب NET چهار زبان اصلی را ارائه می دهد: C#، ویژوال بیسیک، C++ (همراه با الحاقات اداره شده) و Jscript. شرکت های دیگری نیز در حال ایجاد چند زبان دیگر هستند. مثلاً شرکت فوجیستو، نگارشی از COBOL را ارائه داده است.
مجموعه های اصلی از همگردان ها وجود دارند که زبان های تحت NET را می گیرند و ماجول (پیمانه) های زبان های میانه را ایجاد می کنند. در ‌آنسوی این مجموعه ها، Jiter های IL به رمز ماشین هستند. یک Jiter استاندارد وجود دارد که عمدتاً توسط سیستم های دارای قدرت و حافظه زیاد استفاده می شود. این نوع Jiter یک شکل استاندارد IL را به شکل استاندارد IL را به یک شکل بهینه شده در ماشین کامپایل (همگردانی) می کند. در نتیجه یک کامپایلر JIT مقرون به صرفه به دست می آید که سرعت زیادی دارد ولی کمی بهینه سازی شده است و وابسته به زیرمجموعه ای از IL از پیش بهینه می باشد. در نهایت per – JIT موجود یک کد (رمز) اصلی قابل اجرا ایجاد می کند که میتواند در شکل آماده برای کامپایل خود توزیع شود. این روشها تنها زمانی استفاده می شود که برنامه مورد نظر نتواند برای سکوی (دستگاه) سخت افزاری دیگری توزیع گردد.
سرانجام زمانی نسبی سخت افزار و سیستم عامل موجود در ماشین همان زمان اجرای زبان عمومی NET(CLR)، می باشد. این بلوک مؤثر خدماتی را ارائه می دهد که مؤلفه ها بتوانند از آنها استفاده کنند تا به رایانه شما یا OS اصلی ماشین تعامل داشته باشد. این نکته، جالب توجه است که میزبان ماشین CLR به عنوان یک PC شناخته نمی شود و سیستم عامل مورد نظر لزوماً نباید DOS یا ویندوز باشد. میکروسافت برای گسترش چارچوب، NET در بسیاری از سکوها (از کوچک ترین وسایل دستی ها، تلفن ها، PDA ها تاسیستم های لینوکس و یونیسک) یک راهکار (استرانژی) کاملی دارد. با وجود این که این راهکار در سیستم هایی غیر از سیستم 1386Windose 2000 سریعاً در دسترس قرار نمی گیرند، ولی قابلیت حمل آن باعث شد توسعه گران یک محیط برنامه نویسی قابل اجرا در همه جا و یکبار نوشته شده را ایجاد کنند.

زبان میانه (IL) میکروسافت
یک نکته قابل توجه در مورد زبان میانه (IL) میکروسافت این است که این زبان در ماشین مزبور پنهان نشده است. IL، یک زبان کاملاً جدید و مبتنی بر stake (پشته) است و شباهت کمی با کد اسمبلی (همگذاری) دارد که در صورت لزوم می توانید آن را با دست بنویسید. همچنین ابزارهایی وجود دارند که شما را قادر می سازد تا IL را از اسامبلی (همگذاری) خارج نموده و محتوای موضوعات سیستم رمز مختص به خود را مشاهده کنید. در فص 3-1 زبان میانه IL جزئیات بیشتری از IL را بررسی خواهیم کرد و حتی می توانیم مستقیماً آن را برای نوشتن برخی از برنامه ها مورد استفاده قرار دهیم.

مقدمه ای برای مدیریت حافظه .NET
یکی از واقعیت های NET که افراد بسیاری را هیجان زده نگران و یا فقط مات و مبهوت می کند این است که مدیریت حافظه زمان اجرای NET همانند یک سیستم GC (جمع آوری آشغال) می باشد. برنامه نویسان قدیمی در روزهای اوج زبان Lisp دچار کابوس می شدند، روزهایی وجود داشت که انتظار برای رسیدن به جمع کننده آشغال (garbage – collector) یک تجربه سخت بود زیرا این کار فقط در روزهای سه شنبه انجام می شد. برنامه نویسان C++، مدیریت حافظه ای داشتند که به آنها یادآوری می کرد که از دست دادن نظارت بر تخصیص حافظه ها و حذف ها کار درستی نیست.
سیستم مدیریت حافظه NET، تخصیص منابع حافظه را به شکل دیگری انجام می دهد. یک بلوک حافظه، به آشغال های جمع آوری شده یا کپه (heap) اداره شد، اختصاص دارد که سابقه (رکورد) همه موضوعات ارجاع داده شده به آن را حفظ می کند. فقط زمانی که آن مرجع ها ترخیص می شوند، موضوع از بین می رود. بدین وسیله، برنامه نویس از مسئولیت مدیریت حافظه خلاص می شود. شما دیگر مجبور نیستید که پاکسازی حافظه را به خاطر بسپارید، بلکه فقط باید استفاده از آن را متوقف نمایید. همچنین یک کلاس (رده) دیگر نباید از شمارش های مرجع ‌آگاه باشد بلکه فقط زمان حذف خود را می داند. برای تکه تکه شدن کمتر کپه، GC موضوعات را جابجا می کند تا فضاهای خالی و استفاده شده ای که در ذخیره گاه حافظه اداره شده قرار دارند را یکپارچه نماید.
این امر مانع از نشست های (leaks) حافظه می شود و باعث پیشرفت کارآیی سیستم های خادمی که به شدت فشرده شده اند، می گردد. همچنین کپه اداره شده باید اطمینان یابد که دستیابی های ناامن ]نظیر سرریزش ها و صدمات بافر (میانگاه) [ نمی توانند داده های مربوط به سایر اجرای برنامه های روی همان سیستم را اصلاح کنند. این امر کل سیستم عامل را ایمن تر و مطمئن تر خواهد کرد. سیستم های جمع آوری کننده آشغال، به نامؤثر و کند بودن معروف هستند. ولی میکروسافت به مرحله ای رسیده است که کارکرد واقعی جمع آوری آشغال در NET را تضمین می کند. این برنامه دارای سرعت بسیار زیادی است و تأثیر عمیقی در بارگذاری مهم CPU نخواهد داشت. معمولاً در یک برنامه ویندوز 2000 (مبتنی بر ماشین)، GC (جمع کننده آشغال) فقط به حدود 1000/1 از کل زمان پردازنده نیاز دارد.
در نهایت برای برنامه نویسانی که به استفاده از اشاره گرهای موجود در بلوک های حافظه نیاز دارند وسیله ای در سیستم وجود دارد که کد (رمز) و حافظه نا امن یا اداره نشده ناامیده می شود می شود. این به صورتی است که شما می توانید ساختارهای قدیمی خود یا برنامه های کاربردی قبلی که مبتنی بر C++ هستند به موازات ویژگی های NET استفاده کنید.

سیستم های نوع چارچوب NET
برنامه نویسان C++ خصوصاً، با تغییرات ایجاد شده در نوع های (types) اصلی ذخیره گاه در چارچوب NET، استفاده شدند، شگفت زده خواهند شد. یک عدد صحیح دیگر چندبایتی از بلوک حافظه نیست. البته داده ها در حافظه ذخیره می شوند، ولی حالا می توانید آن عدد صحیح را به عنوان یک موضوع در نظر بگیرید و بر طبق روش های نمایش داده شده آن عمل کنید.
در اینجا دو خانواده کاملاً متفاوت از انواع وجود دارند. نوع های مقدار (vatue types)، شامل نویسه ها (chars)، اعداد صحیح (ints) و مضاعف ها (doubles) هستند که با نوع های مرجع (نظیر آرایه ها، رابط ها، کلاس (رده) ها و یک نوع رشته ای اصلی) همراه می شوند.
از آنجا که چهارچوب NET، خود نوع ها را تعریف می کند، در نتیجه زبان هایی نظیر ویژوال بیسیک، C# و سایر زبان ها می توانند این نوع داده ها را به همان صورت استفاده نمایند. این بدان معناست که عدد صحیح استفاده شده در VB (ویژوال بیسیک) درست همانند عدد صحیحی است که در C# به کار می رود و دیگر تبدیل پر دردسر بین نوع های واقعی و نوع هایی نظیر متغیرها، ضروری نیستند.
موضوعات سیستم چهارچوبNET
بخش های فعال چهارچوب NET، در مجموعه های از DLL ها قرار دارند که الگوی موضوع سیستم را حفظ می کند. نامکده (فضای نام) این سیستم مراتب های کلاس (رده) که مختص مجموعه ها، امنیت، I/O پرونده، گرافیک ها (نگاره ها) و دستیابی Win32 API ، چند بخشی کردن XML و بسیاری از تابع های مهم دیگر می باشند را در خود نگه می دارد. کل سیستم NET.

 

 

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

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

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

موجود است


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


دانلود پایان نامه درباره تکنولوژی دات نت .net

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

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

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


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

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

مقاله ای مفید و کامل

 

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب* 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

تعداد صفحه:100

چکیده:

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

( Common Language Runtime CLR ) را خواهند داشت . آشنائی با مفاهیم اولیه برنامه نویسی در محیط فوق ، دارای اهمیت خاص خود بوده و  سرعت در استفاده مطلوب از محیط فوق ، را بدنبال خواهد داشت . در مقالاتی که در این زمینه ارائه خواهد شد به بررسی مفاهیم اولیه برنامه نویسی محیط فوق ، خواهیم پرداخت . در این راستا ، در ابتدا با نحوه نوشتن یک برنامه  آشنا و در ادامه به تشریح برخی از مفاهیم مهم در این زمینه ، خواهیم پرداخت .

نوشتن یک برنامه در فریمورک دات نت
تمامی زبانهای حمایت شده در دات نت ، از سیستم نوع یکسان ، کتابخانه کلا س فریمورک مشابه  و  CLR استفاده خواهند کرد . بدین ترتیب، تمامی برنامه های نوشته شده با یکی از زبانهای حمایت شده ، خصایص مشابهی را به اشتراک می گذارند. شاید مهمترین تفاوت قابل توجه در رابطه با زبان های برنامه نویسی حمایت شده در دات نت ،  به گرامر هر یک از آنها برگردد . ( در مثال هائی که در این مقاله ذکر می گردد ، از ویرایشگر Notepad ،در مقابل ویژوال استودیو دات نت،  استفاده شده است . مثال های ارائه شده به اندازه کافی ساده بوده تا بتوان بکمک آنان با  فرآیندهای ترجمه و اجراء ، بسرعت آشنا گردید ).

نوشتن یک برنامه
برای نوشتن یک برنامه ساده در دات نت ، مراحل زیر را دنبال می نمائیم :

  • فاز اول : ایجاد برنامه
    برنامه Notepad را فعال و پس از درج کدهای زیر آن را با نام  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 است ) :

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 ، متادیتا و اسمبلی خواهیم پرداخت .

و...

NikoFile


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


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

دانلود مقاله مبانی دات نت (Net.)

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

دانلود مقاله مبانی دات نت (Net.)


دانلود مقاله مبانی دات نت (Net.)

مبانی دات نت(.net)

مقاله ای مفید و کامل

 

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب* 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

تعداد صفحه:239

چکیده:

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

اینترفیس های کاربر و برنامه
در بالاترین لایه ، دات نت روش هائی را بمنظور تفسیر و مدیریت رابط های کاربر ( فرم های ویندوز ، فرم های وب ، برنامه های کنسول ) و اینترفیس  مورد نیازعناصر از راه دور ( سرویس های وب ) ، ارائه می نماید .

اینترفیس کاربر : فرم های ویندوز
فرم های ویندوز ( به آنان WinForms هم می گویند ) روشی پیشرفته ویکپارچه بمنظور ایجاد برنامه های Desktop استناندارد سی و دو بیتی را ارائه می نمایند. تمامی زبان ها ی سازگار با دات نت ، قادر به استفاده از پتانسیل  فرم های ویندوز در مقابل روش هائی که در حال حاضر استفاده می نمایند ، خواهند بود ( MFC و یا Win32API در ++C و یا موتور VB Forms در ویژوال بیسیک  ) . فرم های ویندوز ، مجموعه ای قدرتمند و یکپارجه از کنترل ها و توابع عملیاتی را برای تمامی زبانها  ارائه و بعنوان بخشی از کلاس های فریمورک در namespace با نام System.WinForms ،ارائه شده است  . بدین ترتیب امکان استفاده از فرم های ویندوز توسط تمامی زبان های مبتنی بر دات نت وجود خواهد داشت . با استفاده از Drag & Drop Designer   فرم های ویندوز ، می توان اقدام به ایجاد ویژوال فرم های مورد نظر  بمنظور استفاده در هر زبان برنامه نویسی نمود.
در ویندوز DNA ، تعداد زیادی از برنامه های داخلی سازمان ها و موسسات مبتنی بر مرورگر بودند ، چراکه هزینه نصب و نگهداری یک برنامه سرویس گیرنده بر روی صدها و یا هزاران ایستگاه  بسیار قابل تامل بود . فرم های ویندوز و فریمورک دات نت دارای پتانسیل لازم بمنظور بهینه سازی اقتصادی ( مقرون بصرفه ) نصب و نگهداری یک برنامه سرویس گیرنده با توانائی اجراء بر روی هزاران ایستگاه  می باشند .  یک برنامه مبتنی بر فرم های ویندوز ،نسبت به برنامه سرویس گیرنده ای که با ویژوال بیسیک نوشته شده باشد ، بسادگی نصب و بهنگام  خواهد شد . با استفاده از دستوری  نظیر : XCOPY  ، امکان بکارگیری برنامه بسادگی و بسرعت فراهم و در این رابطه نیازی به ریجستر نمودن عناصری وجود نخواهد داشت . نصب و بهنگام سازی اینچنین برنامه هائی بمراتب ساده تر از وضعیتی است که قبلا" شاهد آن بوده ایم.بدین ترتیب  طراحی و پیاده سازی برنامه هائی که نیازمند یک رابط کاربر قدرتمند برای تعداد زیادی از کاربران می باشند ، با استفاده از دات نت  بخوبی محقق و عملی خواهد شد ( نسبت به ویندوز DNA ) .

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

و...

NikoFile


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


دانلود مقاله مبانی دات نت (Net.)