آموزش کار کردن با رکورد ها (Record ها) در سی شارپ

Whats New in Csharp 9 Records (1)
تعداد ویدئو 21
زمان دوره 01:06:54
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

کارکردن با رکورد ها (Record ها) در سی شارپ یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی کارکردن با قابلیت جدید رکورد ها (Record ها) در سی شارپ می باشد که با نام اصلی Working with C# 9 Records از شرکت Pluralsight منتشر شده است.

مزیت های رکورد ها (Record ها) درسی شارپ

رکورد ها قابلیت های مختلفی را ارائه می دهند که مهم ترین آنها را در قسمت زیر برای شما قرار داده ایم.

  • یک Syntax ساده و تمیز به منظور ایجاد کردن Refrence Type هایی که Property های immutable دارند.
  • امکان اضافه کردن رفتار و یا Behavior به منظور داشتن Refrence Type های داده محور و یا data-centric.
  • امکان پیاده سازی تصاویر مبتنی بر مقادیر و یا Value equality.
  • یک Syntax ساده و تمیز به منظور ایجاد کردن تغییرات غیر مخرب و یا اصطلاحاً nondestructive mutation.
  • قابلیت های درونی به منظور فرمت بندی کردن داده ها برای نمایش داده شدن به کاربر.
  • پشتیبانی کردن از سلسله مراتب های وراثت.

Whats-New-in-Csharp-9-Records

دقت کنید که بدون استفاده کردن از Record ها می توانید Type های data-centric ایجاد کنید. به منظور انجام این کار می توانید از structure ها استفاده کنید. در structure ها نیز قابلیت value equality و یا تساوی مبتنی بر مقادیر وجود دارد. در structure ها نیز امکان اضافه کردن رفتار و یا Behavior وجود دارد اما در ایجاد کردن Data Model های نسبتاً بزرگ استفاده کردن از structure ها معایب مختلفی را دارند که در ادامه به آن می پردازیم.

معایب Structure ها در در ایجاد کردن Data Model های نسبتاً بزرگ

  • structure ها در زبان برنامه نویسی سی شارپ از وراثت و یا inheritance پشتیبانی نمی کنند.
  • structure ها در پیاده سازی کردن تساوی مبتنی بر مقادیر و یا value equality عملکرد ضعیف تری دارند. برای value type ها می توان از متد Equals استفاده کرد. این متد از reflection به منظور پیدا کردن تمامی فیلدها استفاده می کند. (ضمناً می توانید از آموزش Reflection در زبان برنامه نویسی سی شارپ استفاده کنید.) این در حالی است که در زمان استفاده کردن از record ها کامپایلر متد Equals را ایجاد و یا generate می کند. در عمل پیاده سازی تساوی مبتنی بر مقادیر value equality در record ها به مراتب سریع تر انجام می شود.
  • structure ها از حافظه بیشتری در برنامه نویسی استفاده می کنند. دلیل این موضوع نیز این است که هر instance و یا نمونه از یک structure یک کپی کامل از تمامی مقادیر آن structure است. این در حالی است که record ها به صورت refrence type پیاده سازی شده اند. بنابراین یک instance از یک record فقط شامل یک refrence به داده ها می باشد.
  • غیر قابل تغییر دادن و یا immutability. یک رکورد لزوماً غیر قابل تغییر و یا immutability نیست. شما در یک record می توانید property هایی را تعریف کنید که set accessors دارند و علاوه بر این می توانید فیلد هایی را داشته باشید که readonly نباشند. با این وجود هرچند که می توان record ها را به صورت قابل تغییر mutable, تعریف کرد اما استفاده کردن از record ها برای ساختن Data Model های immutable بسیار توصیه می شود.

در record ها می توانید به سادگی property هایی را تعریف کنید که با استفاده از positional syntax به صورت immutable تعریف می شوند. وضعیت immutable بودن زمانی می تواند بسیار مفید باشد که می خواهید type داده محور و یا data-centric تعریف کنید که به صورت thread-safe هم عمل کند. علاوه بر این زمانی که می خواهید hash code مربوط به یک instance در یک hash table یکسان باقی بماند record ها می توانند بسیار مفید باشند. استفاده کردن از record ها می تواند از ایجاد شدن باگ هایی که در زمان انتقال دادن یک argument به صورت by reference ایجاد می شوند نیز جلوگیری کنند. در چنین شرایطی یک متد ممکن است به صورت کاملاً تصادفی مقدار مربوط به آن argument را تغییر دهد. با استفاده از record ها که به صورت غیر قابل تغییر immutable تعریف شده اند چنین خطا هایی رخ نخواهند داد.

سرفصل مطالب آموزش ویدیویی کار کردن با رکورد ها (Record ها) در سی شارپ

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: بررسی قابلیت غیر قابل تغییر بودن و یا Immutability

  • ورژن های مربوط به ابزار های این دوره آموزشی
  • مقدمه
  • بررسی Class ها و Refrence type ها
  • مقایسه کردن Record ها با Class ها
  • نیاز به Immutability
  • استفاده از Immutability در Front-end Application ها
  • جمع بندی

فصل سوم: کار کردن عملی با Record ها

  • مقدمه
  • Refactor کردن کد و استفاده کردن از Record ها به جای Class ها
  • استفاده کردن از Destructuring
  • انتقال دادن پارامتر ها به صورت by Reference
  • انجام عملیات Cloning
  • ساختن Record Type های سفارشی
  • بررسی وراثت و Polymorphism
  • جمع بندی

فصل چهارم: کار کردن با متد های تولید شده و یا Synthesized Method ها

  • مقدمه
  • بررسی Virtual Member ها
  • متد های تولید شده و یا Synthesized Method ها چه هستند؟
  • تبدیل کردن به یک String
  • بررسی تصاویر و یا Equality
  • جمع بندی

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش کار کردن با رکورد ها (Record ها) در سی شارپ”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید