درک ماژهها در سی شارپ: آنها همیشه اینجا بودهاند!
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۲ ۱۲:۴۶
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
Result و Either برای مدیریت استثناهای مدیریت نشده و ماژههای Option یا Maybe برای جلوگیری از خطاهای ارجاع Null استفاده میشوند.
نویسنده یک نمونه ساده از ماژهی Result را پیادهسازی میکند که یک تابع را میگیرد و یا نتیجهی موفقیتآمیز (Success) را برمیگرداند یا در صورت بروز خطا، یک استثنا (Failure) را برمیگرداند. این پیادهسازی از readonly record structها برای جلوگیری از تغییر مقدار پس از ایجاد و از وراثت برای ایجاد یک نوع Union (یا Distriminated Union) استفاده میکند.
این الگو به توسعهدهندگان C# کمک میکند تا کد خود را ایمنتر و قابلاعتمادتر کنند و از بروز خطاهای رایج مانند استثناهای مدیریت نشده و خطاهای ارجاع Null جلوگیری کنند. در نهایت، این مقاله نشان میدهد که مفاهیم برنامه نویسی تابعی و الگوهای آن، مانند ماژهها، میتوانند در C# به طور موثر مورد استفاده قرار گیرند.