تعداد ویدئو | 30 |
---|---|
زمان دوره | 02:15:56 |
مترجم | مرتضی گیتی |
ناظر ترجمه | مرتضی گیتی |
دوبلر | مرتضی گیتی |
ناظر دوبلاژ | مرتضی گیتی |
سایت منتشر کننده | پلورال سایت |
آموزش کار با اینترفیس IDisposable در سی شارپ یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، کار با قابلیت های اینترفیس IDisposable در سی شارپ است که با نام اصلی IDisposable Best Practices for C# Developers از شرکت Pluralsight منتشر شده است
اولین موضوعی که باید در رابطه با آن صحبت کنیم، مفهوم منابع غیر مدیریت شده و یا unmanaged resource می باشد. تقریباً تمامی اپلیکیشن ها از منابعی از قبیل file system و دیتابیس ها و web service ها استفاده می کنند. مصرف کردن این resource ها و یا منابع به معنی آن است که از سیستم عامل و API ها و سرویس های سطح پایین استفاده می شود. به همین دلیل نیاز به مفهوم از بین بردن یا dispose کردن آبجکت ها داریم. برای اینکه موضوع را بهتر درک کنید مثالی را ارائه می دهیم.
فرض کنید که یک فایل را باز کرده و سپس با آن کار می کنید. برای انجام این کار نیاز به یک instance از کلاس FileStream دارید. اما به صورت درونی چه اتفاقی می افتد؟ به صورت درونی فایل مورد نظر با استفاده از API های ویندوز و همچنین API های سطح پایین موجود که می تواند با یک file handle کار کنند استفاده می شود. در محیط دات نت، این file handle یک عدد ساده است که کلاس StreamReader می تواند از آن استفاده نماید. حال اگر کلاس FileStream را dispose نکنید، این handle از فایل مورد نظر در برنامه شما باقی خواهد ماند. پس از مدتی instance ایجاد شده از FileStream توسط garbage collector و فرآیند garbage collection که هدفش آزادسازی حافظه سیستم می باشد جمع آوری شده اما سیستم عامل نمی تواند متوجه بشود که فایلی که باز کرده است، می تواند هم اکنون بسته و یا close بشود. برای آزادسازی کردن و release کردن unmanaged resource های اختصاص داده شده توسط کلاس هایمان می بایست از مکانیزم dispose کردن استفاده کنید.
تمامی کلاس هایی که از مفهوم از بین بردن و یا disposable استفاده می کنند، اینترفیس IDisposable را پیاده سازی می نمایند. اینترفیس IDisposable شامل یک متد تک به نام Dispose می باشد. علیرغم سادگی بسیار زیاد این اینترفیس، نقش کلیدی آن در کار کردن با منابع غیر مدیریت شده بسیار کلیدی است. برای مثال فرض کنید زمانی که در حال استفاده کردن از یک فایل هستید کهیک exception رخ می دهد. این موضوع ممکن است باعث بشود که صدا زدن متد Dispose از اینترفیس IDisposable را فراموش کنیم.
یکی از روش های استفاده کردن از آبجکت هایی که قابل از بین بردن و یا dispose کرددن هستند، استفاده از using می باشد. کلمه کلیدی using در زبان برنامه نویسی سی شارپ وجود دارد. با استفاده از این کلمه کلیدی، متد dispose همواره بر روی آبجکت قابل از بین بردن و یا disposable صدا زده خواهد شد. با استفاده کردن از این روش، دیگر نیازی نیست که صدا زدن متد dispose را به یاد داشته باشیم. چرا که سی شارپ، خودش این متد را به صورت خودکار صدا خواهد زد.
فصل اول: مقدمه دوره آموزشی
فصل دوم: معرفی کردن IDisposable
فصل سوم: زمانی که Garbage Collector اجرا می شود چه اتفاقی می افتد؟
فصل چهارم: اگر عملیات Dispose را انجام ندهید چه اتفاقی می افتد؟
فصل پنجم: فقط Best Practice ها
تمامی حقوقی مادی و معنوی متعلق به گروه آموزشی پرووید است.
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.