7 ویژگی جالب زبان Dart


مقاله امروز یک اشاره کوتاه از ویژگی های جالبی است که زبان دارت ارائه می دهد. اغلب این گزینه‌ها برای برنامه‌های ساده ضروری نیستند، اما زمانی که می‌خواهید کد خود را ساده، واضح و مختصر کنید، نجات‌بخش هستند.

Cascade notation

نماد آبشاری (cascade notation) یا (..?..) به شما اجازه می دهد تا دنباله ای از عملیات را روی یک object انجام دهید. cascade notation اغلب در ایجاد یک متغیر temp صرفه جویی می کند و به شما امکان می دهد تا کدتان را روانتر بنویسید.

https://gist.github.com/serpicokhan/c3e65a1a4703abbf4501326e48699c05

Abstract classes

از کلمه کلیدی abstract برای تعریف کلاسهای Abstract(کلاسهایی که ازشون نمیشه شی ساخت) استفاده کنید. کلاس های Abstract برای تعریف Interface ، گاهی با مقداری پیاده سازی، مفید هستند.

https://gist.github.com/serpicokhan/00c6ec0a0255d32a3bfb549b3f7d9b45


کلاس های سازنده Factory

هنگام پیاده سازی سازنده ای که قرار نیست نمونه جدیدی از کلاس خود را ایجاد کنند، از کلمه کلیدی factory استفاده کنید.

https://gist.github.com/serpicokhan/6ace1697666072937c6d42fda0ee6dfc

سازنده های نامگذاری شده

از سازنده های نامگذاری شده یا named constructor برای پیاده سازی چند سازنده برای یک کلاس یا ارائه وضوح بیشتر استفاده کنید:

https://gist.github.com/serpicokhan/847e85dca4bc947c668ea67b77900290

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

Mixin

هنگام توسعه یک برنامه با چندین صفحه در Flutter، ما تمایل داریم از یک کد یکسان در چندین کلاس استفاده مجدد کنیم: نمایش پیام‌های خطا و استفاده از طرح‌بندی صفحه یکسان . اگر از یک کلاس پایه abstract استفاده می کردیم، همه این مسائل می توانند حل شوند، با این حال، اگر مجموعه ای از ویژگی ها/کلاس ها را داشته باشیم که بخواهیم در یک صفحه خاص استفاده کنیم اما در سایرین نه باید چه کنیم؟ از آنجایی که یک کلاس نمی تواند فرزند بیش از یک کلاس باشد، آیا باید به اندازه تعداد ترکیب هایی که داریم، کلاس های پایه مختلفی ایجاد کنیم؟ به همین دلیل ما از mixin استفاده می کنیم.

https://gist.github.com/serpicokhan/e3c78f029fde4f26d26408d4ca9a82e6

تعریف type

نام مستعار برای type ها - روشی مختصر برای اشاره به یک type است. معمولا برای ایجاد یک typeسفارشی که در پروژه استفاده زیادی می شود کاربرد دارد.

https://gist.github.com/serpicokhan/affcceec77266845b2bde9dba18e0b97




Extension

متدهای Extension که در Dart 2.7 معرفی شدند، راهی برای افزودن قابلیت به کتابخانه ها و کدهای موجود هستند.

https://gist.github.com/serpicokhan/19601521f2acadabb18be6d129940107

پارامترهای موقعیتی و اختیاری

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

https://gist.github.com/serpicokhan/642ee59ee4fa1d13e1d0424e053a3a42


unawaited_futures

زمانی که می خواهید از یک Future استفاده کنید که جوابش در زمان نامعلومی خواهد آمد، بهترین راه استفاده از unwaited است!

https://gist.github.com/serpicokhan/a4aca9a40336078a4223b2aeccc0b8ce


اگر با ویژگی جالب دیگری برخورد کردید، لطفاً با من در اشتراک بگذارید تا بتوانم این لیست را تکمیل کنم.