Yusefnejad

یوسف نژاد

Yusefnejad

یوسف نژاد

۲۵ مطلب با کلمه‌ی کلیدی «NET Framework.» ثبت شده است

تو مطالبی که تا الان تو این سری آورده شده (1 و 2 و 3 و 4 و 5 و 6 و 7 و 8) سعی شده تا CLR و برخی مفاهیم و بخشهای مهم مرتبط با اون شناسونده بشه. تو قسمت پایانی این سری درباره ارتباط با کدهای مدیریت نشده تو CLR و اجرای اونا بحث میشه.

تا اینجا (1 و 2 و 3 و 4 و 5 و 6 و 7) مطالب نسبتا مفصلی راجع به CLR ارائه شده. تو این قسمت هم درباره یکی دیگه از قسمتهای مرتبط با CLR به نام CLS یا Common Language Specification صحبت میشه.

تو قسمتهای قبلی (1 و 2 و 3 و 4 و 5 و 6) بحث های اولیه CLR به جاهای خوبی رسید. تو این قسمت درباره دو بخش مهم دیگه پلتفرم دات نت فریمورک، یعنی FCL که مخفف عبارت Framework Class Library و CTS که مخفف Common Type System هستن، مطالبی ارائه میشه.

تو قسمتهای قبلی (1 و 2 و 3 و 4 و 5) بحث های نسبتا عمیقی راجع به بخشهای مهم CLR ارائه شد. تو این قسمت درباره یکی از ابزارهای مرتبط با فعالیت CLR، یعنی NGen.exe بحث میشه. این ابزار که به اون Native Generator یا Native Image Generator هم گفته میشه، برای تهیه کد native استفاده میشه.

تو قسمتهای قبلی (1 و 2 و 3 و 4) درباره قسمتهای مختلف پلتفرم دات نت که در اتباط با CLR هستن بحث شد. تو این قسمت بیشتر راجع به کدهای IL و فرایند بررسی و تایید اون تو CLR بحث میشه.

ساختار زبان IL برپایه stack (پشته) طراحی شده. stack رو میشه به عنوان بخشی خاص از حافظه RAM سیستم تصور کرد. اینکه این زبان stack-based هست به این معنیه که دستورالعملهای اون عملگرهای مورد استفاده رو برای اجرا به stack انتقال میدن و نتایج بدست اومده حاصل از اجرای این دستورات رو هم از همین stack میخونن.

در قسمتهای قبلی (1 و 2 و 3) درباره اسمبلی و کامپایل اون و همچنین بارگذاری CLR بحث شد. تو این قسمت درباره اجرای یه اسمبلی توسط CLR بحث میشه.

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

در قسمتهای قبل (1 و 2) پس از مقدمه ای خلاصه وار، درباره ماژول و اسمبلی و تولیدشون بحث شد. تو این قسمت بیشتر درباره CLR و نحوه بارگذاری و اجرای اون بحث میشه.

اسمبلی ها در دنیای دات نت به دو نوع کلی تقسیم میشن:

- اسمبلی های اجرایی (با پسوند exe.) که به صورت مستقیم قابل اجرا هستن. این نوع اسمبلی ها یک ورودی خاص تو متادیتا برای معرفی متد اصلی یا Main دارن.

- اسمبلی های کتابخونه ای (با پسوند dll.) که مستقیما قابل اجرا نیستن اما حاوی انواعی هستن که تو سایر اسمبلی ها استفاده میشن.

در ادامه قسمت قبل، مفهوم اسمبلی و نحوه تولید اون در دات نت شرح داده میشه.

در قسمت قبل توضیحاتی راجع به نحوه تولید ماژولهای مدیریت شده توسط کامپایلرها داده شد. اما باید توجه داشت که در زمان اجرا، CLR با این ماژولها به صورت مستقیم سروکار نداره. چیزی که برای CLR معتبره مفهومیه با نام «اسمبلی». شاید با اسمبلی به عنوان یک زبان برنامه نویسی سطح پایین آشنا باشین، اما در دنیای دات نت کاربرد اسمبلی کاملا متفاوته.

چند سال قبل با کتاب #CLR Via C آشنا شدم. اون موقع ویرایش سوم کتاب در دسترسم بود. کتابی بسیار مناسب که تمامی مفاهیم مقدماتی موردنیاز برای برنامه نویسی پیشرفته تو دات نت رو با ساختاری مناسب گردآوری کرده. نویسنده کتاب آقای Jeffrey Ritcher یکی از توسعه دهندگان باتجریه در دنیای دات نت فریمورکه. ایشون یکی از موسسین شرکت Wintellect هم هست. آقای ریچر نویسنده کتابهای زیادیه که بیشترشون حول دات نت و برنامه نویسی با دات نت تو ویندوزه.
کتاب محتوای نسبتا مفصل، پیشرفته و شیرینی داشت و همین ویژگیهاش باعث شد تا دو یا سه بار اونو مطالعه کنم. چند وقت پیش موفق شدم نسخه چهارم این کتاب رو پیدا کنم و پس از مطالعه اون تصمیم گرفتم تا بخشهایی از اون رو با برداشتی آزاد برای استفاده دیگران تو وبلاگم ارائه کنم.
در قسمت های قبلی (1 و 2 و 3 و 4 و 5) مطالب مفصلی راجع به قواعد نامگذاری ارائه شد. در ادامه، شرح نامگذاری اعضای یک نوع آورده میشه. تمامی انواع از اجزایی تشکیل شدن. این اجزا عبارتند از:
متد (method)
پراپرتی (property)
ایونت یا رویداد (event)
کانستراکتور یا سازنده (constructor)
فیلد (field)
برای نامگذاری هر یک از این اجزا، قواعد خاصی وجود داره که در ادامه بحث میشه.
آخرین نظرات