
آموزش شروع به کار با ASP.NET Core
آموزش شروع به کار با ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی اصول برنامه نویسی در ASP.NET Core است که با نام اصلی ASP.NET Core Fundamentals از شرکت Pluralsight منتشر شده است.
ASP.NET Core چیست؟
ASP.NET Core 1.0، که پیشتر با نام ASP.NET 5 معرفی شده بود، بازنویسی کامل ASP.NET است که با ایدهی کاملا ماژولار بودن، تهیه شده است و از طریق آن، قابلیت به روز رسانی منظم و توزیع آسان از طریق NuGet، میسر خواهد شد. به علاوه در آن، بسیاری از الگوهای برنامه نویسی شیءگرا مانند Dependency Injection، به صورت built-in و از ابتدا پشتیبانی میشوند. ASP.NET Core 1.0 مدل برنامه نویسی ASP.NET MVC و Web API را به صورت یکپارچه ارائه میدهد و دیگر خبری از ارائهی مجزای این ها نخواهد بود و دقیقا بر مبنای مفاهیم برنامه نویسی این دو بنا شده است.

پیشتر فضای نام System.Web.MVC مخصوص ASP.NET MVC بود و فضای نام مجزای دیگری به نام System.Web.Http مخصوص ASP.NET Web API. اما اکنون تنها یک فضای نام مشترک و یکپارچه به نام Microsoft.AspNet.Mvc هر دوی اینها را پوشش میدهد.
ساخت اولین پروژه وب با ASP.NET Core
برای شروع توسعه وب با ASP.NET Core، آشنایی با ساختار پروژه و نحوه سازماندهی اجزای مختلف برنامه اهمیت زیادی دارد. این فریمورک امکاناتی برای ساخت برنامههای وب مبتنی بر .NET فراهم میکند و به توسعهدهندگان اجازه میدهد منطق برنامه، نمایش اطلاعات و پردازش درخواستهای کاربران را به شکل منظم پیادهسازی کنند. شناخت ساختار اولیه پروژه و مسئولیت بخشهای مختلف آن، نقطه شروع مناسبی برای برنامهنویسانی است که قصد دارند از C# برای توسعه برنامههای وب استفاده کنند.
در یک برنامه وب، درخواست کاربر از بخشهای مختلفی عبور میکند تا پردازش شود و پاسخ مناسب به او برگردد. آشنایی با مفاهیمی مانند Startup و Middleware به درک بهتر این فرایند کمک میکند. Middlewareها میتوانند درخواستها و پاسخها را در مراحل مختلف پردازش کنند و قابلیتهایی مانند مدیریت خطا یا احراز هویت را در جریان اجرای برنامه قرار دهند. درک این ساختار، پایهای برای توسعه و نگهداری برنامههای کاربردی با ASP.NET Core محسوب میشود.
معماری MVC در ASP.NET Core و نقش Controller و Model
الگوی MVC یکی از روشهای شناختهشده برای سازماندهی برنامههای وب است که اجزای مختلف برنامه را بر اساس مسئولیتهایشان تفکیک میکند. در این الگو، Model برای نمایش دادهها و قواعد مرتبط با آنها، View برای نمایش اطلاعات و Controller برای مدیریت درخواستها و هماهنگ کردن بخشهای مختلف استفاده میشود. آشنایی با این ساختار به توسعهدهندگان کمک میکند برنامههای خود را به شکل منظمتری طراحی کنند و تغییرات هر بخش را با تأثیر کمتری بر سایر اجزا انجام دهند.
در ASP.NET Core MVC، Controllerها درخواستهای ورودی را پردازش میکنند و بر اساس منطق برنامه، پاسخ مناسب را انتخاب میکنند. Modelها نیز میتوانند دادههای موردنیاز برای پردازش و نمایش را در اختیار بخشهای دیگر قرار دهند. استفاده صحیح از این اجزا باعث میشود کدهای مربوط به پردازش درخواست، مدیریت داده و نمایش اطلاعات از یکدیگر تفکیک شوند. این شیوه طراحی برای ساخت برنامههای وبی که بهمرور توسعه پیدا میکنند و قابلیتهای بیشتری به آنها اضافه میشود، کاربرد زیادی دارد.
کار با Razor View و نمایش اطلاعات در صفحات وب
در برنامههای وب، نمایش اطلاعات به کاربر یکی از بخشهای اصلی توسعه محسوب میشود. Razor View در ASP.NET Core امکان ترکیب HTML با کد C# را فراهم میکند تا صفحات وب بتوانند اطلاعات دریافتی از برنامه را نمایش دهند. توسعهدهندگان با استفاده از این قابلیت میتوانند محتوای صفحات را بر اساس دادههای موجود تولید کنند و میان منطق پردازش درخواست و نحوه نمایش نتیجه ارتباط برقرار کنند. این روش برای ساخت صفحات پویا و مبتنی بر داده در برنامههای وب کاربرد دارد.

ارتباط میان Controller، Model و View به برنامهنویس کمک میکند مسئولیتهای مختلف را به شکل مشخصی تقسیم کند. Controller اطلاعات موردنیاز را آماده میکند و View آنها را در قالبی مناسب به کاربر نمایش میدهد. این تفکیک باعث میشود تغییر در ظاهر صفحات لزوماً به تغییر منطق اصلی برنامه نیاز نداشته باشد. آشنایی با Razor View برای افرادی که میخواهند برنامههای وب مبتنی بر C# توسعه دهند، مهارتی مهم است و درک بهتری از نحوه تولید صفحات پویا ایجاد میکند.
احراز هویت و امنیت کاربران در ASP.NET Core
برنامههای وبی که اطلاعات کاربران را مدیریت میکنند، معمولاً باید مشخص کنند هر درخواست از طرف چه کسی ارسال شده و چه سطحی از دسترسی برای او مجاز است. Authentication یا احراز هویت، فرایند شناسایی کاربر را انجام میدهد؛ در مقابل، Authorization یا مجوزدهی مشخص میکند کاربر احراز هویتشده به کدام بخشها و منابع دسترسی دارد. در ASP.NET Core، امکاناتی برای پیادهسازی این دو فرایند وجود دارد که توسعهدهندگان میتوانند متناسب با ساختار برنامه از آنها استفاده کنند.
تفکیک احراز هویت از مجوزدهی به طراحی دقیقتر سیاستهای امنیتی کمک میکند. برای مثال، ورود موفق یک کاربر به سیستم لزوماً به معنای مجاز بودن او برای مشاهده تمام صفحات یا انجام همه عملیات نیست. توسعهدهنده باید دسترسیها را بر اساس نقشها، سیاستها یا شرایط موردنیاز برنامه مدیریت کند. آشنایی با این مفاهیم برای ساخت برنامههای وبی که با اطلاعات شخصی یا منابع محدودشده سروکار دارند، ضروری است و بخشی مهم از یادگیری توسعه وب با ASP.NET Core به شمار میرود.
سرفصل مطالب آموزش اصول برنامه نویسی ASP.NET Core
فصل اول: مقدمه
- مقدمه ی بسته ی آموزشی
فصل دوم: ساخت اولین برنامه با ASP.NET Core
- مقدمه
- راه اندازی
- یک پروژه ی جدید
- ابزارها و کدهای Command Line
- ساختار پروژه ی ASP.NET Core
- افزودن یک Configuration Source
- ساختن و تزریق کردن سرویس Greeting
- جمع بندی
فصل سوم: کار با Startup و Middleware
- مقدمه
- نحوه ی عملکرد Middleware
- استفاده از اینترفیس IApplicationBuilder
- نشان دادن جزییات مربوط به Exception ها
- استفاده از Middleware برای تطابق با Environment
- ذخیره کردن فایل ها
- راه اندازی Middleware مربوط به MVC
- جمع بندی
فصل چهارم: کار با Controller ها در فریم ورک MVC
- مقدمه
- الگوی طراحی Model View Controller
- مبحث Routing
- کار کردن با Conventional Route ها
- کار کردن با Attribute Route ها
- معرفی Action Result ها
- نشان دادن View ها
- جدولی پر از داده های رستوران ها
- جمع بندی
فصل پنجم: کار با Model ها در فریم ورک MVC
- مقدمه
- کار کردن با Model ها و View Model ها
- نشان دادن جزییات مربوط به رستوران ها
- پذیرفتن ورودی از یک فرم
- الگوی POST - Redirect - GET
- اعتبارسنجی Model با استفاده از Data Annotation ها
- جمع بندی
فصل ششم: استفاده از Entity Framework
- مقدمه
- معرفی SQL Server LocalDB
- نصب Entity Framework
- پیاده سازی DbContext
- پیکربندی سرویس های Entity Framework
- مبحث Migration ها در Entity Framework
- شروع به کار
- جمع بندی
فصل هفتم: کار با Razor View ها
- مقدمه
- کار با Layout View ها
- کار با _ViewStart
- کار با _ViewImports
- کار با Razor Page ها
- پیاده سازی یک فرم برای ویرایش
- کار با Partial View ها
- کار با View Component ها
- جمع بندی
فصل هشتم: مبحث Authentication و Authorization در ASP.NET Core
- مقدمه
- نگاهی اجمالی به فریم ورک ASP.NET Identity
- نگاهی اجمالی به فریم ورک OpenID Connect
- استفاده از Connection های امن و رجیستر کردن برنامه
- پیکربندی OpenID Connect
- Authentication Service ها و Middleware
- کار با User Authorization
- کار با Identity ها و Claim ها
- جمع بندی
فصل نهم: فریم ورک ها و ابزارهای Front End
- مقدمه
- ابزارهای Front End
- کار با Command Line در مقایسه با ویژوال استادیو
- راه اندازی mpm
- سرو کردن فایل ها از طریق پوشه ی node_modules
- استایل دادن به برنامه به وسیله ی Bootstrap
- فعال سازی Client-side Validation
- استفاده از CDN ها و Fallback ها
- جمع بندی


