کتاب Pro C# 10 with .NET 6 (سیشارپ 10 به همراه داتنت 6 حرفهای: اصول و شیوههای اساسی در برنامهنویسی) یک منبع جامع و کامل برای یادگیری سیشارپ نسخه 10 و داتنت 6 است. این کتاب در 9 قسمت به آموزش کامل این زبان و چارچوب خواهد پرداخت.
در ادامه مقدمهای از کتاب Pro C# 10 with .NET 6 را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Pro C# 10 with .NET 6:
ماجراهای خود را انتخاب کنید
از اولین نسخههایی که اندرو نوشت، و نسخههای بعدی از زمانی که من کتاب را تحویل گرفتم، هدف این بوده است (و همیشه خواهد بود) که به شما کمک کند مهندسان نرمافزار سازنده و آگاه باشید.
این کتاب، مانند سیشارپ و پلتفرم داتنت، با هر انتشار به رشد خود ادامه میدهد. این فرصتی را برای شما، خواننده، فراهم میکند تا ماجراجوییهای خود را انتخاب کنید. چه در توسعه نرم افزار تازه کار باشید و چه یک کهنه کار با تجربه، این کتاب دارای محتوایی است که شما را به سطح بعدی میبرد.
برای توسعهدهندگان کهنه کار سیشارپ، این کتاب شما را در جریان آخرین مطالبی که سیشارپ و داتنت ارائه میکند، نگه میدارد. با شروع C# 7، سرصفحههای بخش نشان میدهد که یک ویژگی چه زمانی معرفی یا به روز شده است.
اسکن سریع فهرست مطالب، ویژگیهای جدید را برجسته میکند، بنابراین میتوانید به سرعت آنها را بخوانید و آنها را به چرخش درآورید. این کتاب همچنین میتواند بهعنوان یک کتابچه راهنمای مرجع، با نمونههای کد آماده به شما کمک کند تا آن کاری را که کاملاً حافظه عضلانی نیست، انجام دهید.
برای مبتدیان، این کتاب از یک رویکرد سازمان یافته برای آموزش سیشارپ و برنامهنویسی شیگرا استفاده میکند. هنگامی که با آن موضوعات راحت شدید، میتوانید با پرش از جلو و ایجاد برنامه ASP.NET Core یا Windows Presentation Foundation، آنها را تمرین کنید. برای دسترسی به داده آماده نیستید؟ تمام کدهای هر فصل در مخزن GitHub ارائه شده است، بنابراین میتوانید در کتاب پیش بروید و از نمونههای کد ارائهشده برای کاوش به ترتیبی که انتخاب میکنید استفاده کنید.
به عنوان یک نویسنده، من نمیدانم نیازهای فردی شما در هیچ مقطعی از زمان چیست. به عنوان یک مدیر ارشد فناوری و معمار ارشد، میدانم که سازمان و مهندسان نرم افزار ما برای مدت طولانی به چه چیزی نیاز دارند. نه تنها برای نرمافزاری که میسازند، بلکه برای حرفهشان بهعنوان پیشروی فناوری و موقعیتهای معمار. هدف من این است که همان اطلاعاتی را که به تیم و سازمانم ارائه میدهم در اختیار شما قرار دهم.
این احتمال وجود دارد که شما در حال حاضر به همه چیز در این کتاب نیاز ندارید. این احتمال نیز وجود دارد که در دورهای از چرخههای توسعهتان این کار را انجام دهید. بنابراین، ماجراجویی خود را انتخاب کنید، آنچه را که برای تکمیل کار خود نیاز دارید، بردارید، و بدانید که زمانی که برای مقابله با بخش دیگری بازگردید، ما برای شما آماده خواهیم بود.
کد منبع
کد منبع این کتاب در GitHub در مخزن https://www.Github.com/apress/pro-c-sharp-10 میزبانی شده است.
مروری بر این کتاب
Pro C# 10 با داتنت 6 به طور منطقی به 9 قسمت مجزا تقسیم میشود که هر کدام شامل تعدادی فصل مرتبط است. در اینجا قسمت به قسمت و فصل به فصل متن را تجزیه و تحلیل می کنیم.
بخش اول: معرفی سیشارپ و داتنت 6
هدف قسمت اول این است که شما را با ماهیت پلتفرم داتنت و ابزارهای توسعه مختلف که در ساخت برنامههای داتنت استفاده میشود آشنا کند.
فصل 1: معرفی سیشارپ و داتنت 6
این فصل اول به عنوان ستون فقرات برای بقیه متن عمل میکند. هدف اصلی این فصل آشنایی شما با تعدادی از بلوکهای ساختمانی مبتنی بر داتنت است، مانند زمان اجرای زبان مشترک (CLR)، سیستم نوع رایج (CTS)، مشخصات زبان مشترک (CLS)، و کتابخانههای کلاس پایه ( BCL). در اینجا نگاهی اولیه به زبان برنامهنویسی سیشارپ، فضاهای نام و فرمت اسمبلی داتنت خواهید داشت.
فصل 2: ساخت برنامههای کاربردی سیشارپ
هدف این فصل این است که شما را با فرآیند کامپایل فایلهای کد منبع سیشارپ آشنا کنیم. پس از نصب .NET SDK و زمان اجرا، با نسخه کاملاً رایگان (و کاملا کاربردی) Visual Studio Community و همچنین بسیار محبوب (و همچنین رایگان) Visual Studio Code آشنا خواهید شد. شما یاد میگیرید که چگونه برنامههای NET C# را با استفاده از Visual Studio و Visual Studio Code ایجاد، اجرا و اشکال زدایی کنید.
بخش دوم: برنامهنویسی Core C#
موضوعات ارائه شده در این بخش از کتاب بسیار مهم هستند زیرا شما صرف نظر از اینکه چه نوع نرم افزار داتنت را میخواهید توسعه دهید (به عنوان مثال، برنامههای کاربردی وب، برنامههای رابط کاربری گرافیکی دسکتاپ، کتابخانههای کد، خدمات و غیره) از آنها استفاده خواهید کرد. در اینجا، با انواع دادههای اساسی داتنت آشنا میشوید، با دستکاری متن کار میکنید، و نقش اصلاحکنندههای مختلف پارامتر C# (از جمله آرگومانهای اختیاری و نامگذاری شده) را یاد خواهید گرفت.
فصل 3: ساختارهای برنامهنویسی Core C#، قسمت 1
این فصل تحقیقات رسمی شما را در مورد زبان برنامهنویسی C# آغاز میکند. در اینجا، با نقش متد Main()، عبارات سطح بالا و جزئیات متعدد در مورد انواع دادههای ذاتی پلت فرم داتنت و اعلان متغیر آشنا خواهید شد. شما با استفاده از System.String و System.Text.StringBuilder با دادههای متنی کار میکنید و آنها را دستکاری میکنید. همچنین ساختارهای تکرار و تصمیم، تطبیق الگو، عملیات باریک کردن و گشاد کردن، و کلیدواژه بدون علامت را بررسی خواهید کرد.
این فصل بررسی شما را در مورد جنبههای اصلی C#، با ایجاد و دستکاری آرایههای دادهها آغاز میکند. در مرحله بعد، نحوه ساخت روشهای نوع سربارگذاری شده و تعریف پارامترها با استفاده از کلیدواژههای out، ref و params را بررسی میکنید. شما همچنین در مورد نوع enum، ساختارها و انواع دادههای nullable یاد خواهید گرفت و تمایز بین انواع مقدار و انواع مرجع را درک خواهید کرد. در نهایت با تاپلها آشنا خواهید شد.
بخش سوم: برنامهنویسی شیگرا با سیشارپ
در این قسمت با ساختارهای اصلی زبان سیشارپ، از جمله جزئیات برنامهنویسی شیگرا آشنا میشوید. این بخش همچنین نحوه پردازش استثناهای زمان اجرا را بررسی میکند و به جزئیات کار با رابطهای تایپ شده قوی میپردازد. در نهایت، با طول عمر شی و جمعآوری زباله آشنا خواهید شد.
فصل 5: درک کپسولاسیون
این فصل بررسی برنامهنویسی شیگرا (OOP) را با استفاده از زبان برنامهنویسی C# آغاز میکند. بعد از اینکه با ستونهای OOP (انکپسولاسیون، وراثت و چندشکلی) آشنا شدید، بقیه این فصل به شما نشان میدهد که چگونه انواع کلاسهای قوی را با استفاده از سازندهها، خصوصیات، اعضای ایستا، ثابتها و فیلدهای فقط خواندنی بسازید. همچنین در مورد تعاریف نوع جزئی، نحو اولیه سازی شی و ویژگیهای خودکار یاد خواهید گرفت و فصل با بررسی انواع رکورد و ساختارهای رکورد به پایان میرسد.
فصل ششم: درک وراثت و چند شکلی
در اینجا، ستونهای باقیمانده OOP (وراثت و چندشکلی) را بررسی خواهید کرد که به شما امکان میدهد خانوادههایی از انواع کلاسهای مرتبط بسازید. با انجام این کار، نقش روشهای مجازی، روشهای انتزاعی (و کلاسهای پایه انتزاعی) و ماهیت رابط چند شکلی را بررسی خواهید کرد. سپس تطبیق الگو با کلمه کلیدی is را بررسی خواهید کرد و در نهایت، این فصل نقش کلاس پایه نهایی پلت فرم داتنت، System.Object را توضیح میدهد.
فصل 7: درک ساختار استثنایی
هدف این فصل بحث در مورد چگونگی رسیدگی به ناهنجاریهای زمان اجرا در پایگاه کد خود از طریق استفاده از مدیریت استثناهای ساختاریافته است. نه تنها با کلمات کلیدی C# آشنا میشوید که به شما امکان میدهد چنین مشکلاتی را مدیریت کنید (امتحان، گرفتن، پرتاب، زمان و در نهایت)، بلکه تمایز بین استثناهای سطح برنامه و سطح سیستم را نیز درک خواهید کرد. علاوه بر این، این فصل به شما نشان میدهد که چگونه ویژوال استودیو را در حالت استراحت بر روی همه استثناها تنظیم کنید تا استثناهایی را که متوجه شما نمیشوند، اشکالزدایی کنید.
فصل هشتم: کار با رابطها
مطالب این فصل بر اساس درک شما از توسعه مبتنی بر شی با پوشش موضوع برنامهنویسی مبتنی بر رابط است. در اینجا، نحوه تعریف کلاسها و ساختارهایی که از رفتارهای متعدد پشتیبانی میکنند، نحوه کشف این رفتارها در زمان اجرا و نحوه مخفی کردن انتخابی رفتارهای خاص با استفاده از پیادهسازی رابط صریح یاد خواهید گرفت. علاوه بر ایجاد تعدادی رابط سفارشی، نحوه پیاده سازی رابطهای استاندارد موجود در پلت فرم داتنت را نیز یاد خواهید گرفت. شما از اینها برای ساختن اشیایی استفاده خواهید کرد که قابل مرتب سازی، کپی، شمارش و مقایسه باشند.
فصل 9: درک طول عمر شی
فصل پایانی این قسمت به بررسی نحوه مدیریت حافظه توسط CLR با استفاده از زباله گرد داتنت میپردازد. در اینجا، نقش ریشههای برنامه، تولیدات شی و نوع System.GC را درک خواهید کرد. هنگامی که اصول اولیه را درک کردید، موضوعات اشیاء یکبار مصرف (با استفاده از رابط IDisposable) و فرآیند نهایی سازی (با استفاده از متد System.Object.Finalize) را بررسی خواهید کرد.
این فصل همچنین کلاس Lazy<T> را بررسی میکند، که به شما امکان میدهد تا دادههایی را تعریف کنید که تا زمانی که تماسگیرنده درخواست نکنند، تخصیص داده نمیشوند. همانطور که خواهید دید، این ویژگی زمانی میتواند مفید باشد که میخواهید اطمینان حاصل کنید که پشته را با اشیایی که واقعاً مورد نیاز برنامههای شما نیستند، شلوغ نمیکنید.
بخش چهارم: برنامهنویسی پیشرفته سیشارپ
این بخش از کتاب درک شما از زبان سیشارپ را با راهنمایی تعدادی از مفاهیم پیشرفته تر (اما مهم) عمیقتر میکند. در اینجا با بررسی مجموعهها و ژنریکها، بررسی سیستم نوع داتنت را تکمیل خواهید کرد. شما همچنین تعدادی از ویژگیهای پیشرفته تر C# (به عنوان مثال، روشهای توسعه، بارگذاری بیش از حد اپراتور، انواع ناشناس، و دستکاری اشاره گر) را بررسی خواهید کرد. سپس نمایندگان و عبارات لامبدا را بررسی میکنید، ابتدا نگاهی به پرس و جوی یکپارچه زبان بیندازید، و بخش را با دو فصل که بر فرآیندها و برنامهنویسی چند رشتهای/ناهمگام تمرکز دارد، به پایان میرسانید.
فصل 10: مجموعهها و ژنریکها
این فصل به بررسی موضوع ژنریک میپردازد. همانطور که خواهید دید، برنامهنویسی عمومی راهی برای ایجاد انواع و اعضای تایپ در اختیار شما قرار میدهد که حاوی متغیرهایی هستند که میتوانند توسط تماس گیرنده مشخص شوند. به طور خلاصه، ژنریکها عملکرد برنامه و ایمنی نوع را تا حد زیادی افزایش میدهند. نه تنها انواع مختلف عمومی را در فضای نام System.Collections.Generic کاوش خواهید کرد، بلکه همچنین یاد خواهید گرفت که چگونه روشها و انواع عمومی خود را بسازید (با و بدون محدودیت).
فصل 11: ویژگیهای پیشرفته زبان سیشارپ
این فصل با معرفی تعدادی از تکنیکهای برنامهنویسی پیشرفته، درک شما از زبان برنامهنویسی C# را عمیق تر میکند. در اینجا، شما یاد خواهید گرفت که چگونه اپراتورها را بیش از حد بارگذاری کنید و روالهای تبدیل سفارشی (هم ضمنی و هم صریح) برای انواع خود ایجاد کنید. همچنین یاد خواهید گرفت که چگونه نمایه سازهای نوع بسازید و با آنها تعامل داشته باشید، همچنین با متدهای افزونه، انواع ناشناس، متدهای جزئی و نشانگرهای C# با استفاده از زمینه کد ناامن کار کنید.
فصل 12: نمایندگان، رویدادها و عبارات لامبدا
هدف این فصل ابهام زدایی از نوع نماینده است. به بیان ساده، یک نماینده داتنت شی ای است که به روشهای دیگر در برنامه شما اشاره میکند. با استفاده از این نوع، میتوانید سیستمهایی بسازید که به چندین شی اجازه میدهد در یک مکالمه دو طرفه شرکت کنند. بعد از اینکه استفاده از نمایندگان داتنت را بررسی کردید، با کلمه کلیدی رویداد C# آشنا میشوید که میتوانید از آن برای ساده سازی دستکاری برنامهنویسی نماینده خام استفاده کنید. شما این فصل را با بررسی نقش عملگر C# lambda (=>) و بررسی ارتباط بین نمایندگان، روشهای ناشناس و عبارات لامبدا به پایان میرسانید.
فصل 13: LINQ به اشیا
این فصل بررسی زبان یکپارچه Query (LINQ) را آغاز میکند. LINQ به شما امکان میدهد عبارات پرس و جو با تایپ قوی بسازید که میتوانند برای تعدادی از اهداف LINQ اعمال شوند تا دادهها را به معنای وسیع کلمه دستکاری کنید. در اینجا، با LINQ به Objects آشنا میشوید، که به شما امکان میدهد عبارات LINQ را در محفظههای داده (مانند آرایهها، مجموعهها و انواع سفارشی) اعمال کنید. این اطلاعات به خوبی به شما کمک خواهد کرد زیرا در طول باقی مانده این کتاب با تعدادی API LINQ اضافی روبرو میشوید.
فصل 14: فرآیندها، AppDomains و Load Contexts
اکنون که درک کاملی از اسمبلیها دارید، این فصل عمیق تر به ترکیب یک فایل اجرایی .NET Core بارگذاری شده میپردازد. هدف این فصل نشان دادن رابطه بین فرآیندها، حوزههای کاربردی و مرزهای زمینه ای است. این موضوعات پایه و اساس مناسبی را برای فصل 15 فراهم میکند، جایی که ساخت برنامههای کاربردی چند رشتهای را بررسی خواهید کرد.
فصل 15: برنامهنویسی چند رشته ای، موازی و غیر همگام
این فصل به بررسی چگونگی ساخت برنامههای چند رشتهای میپردازد و تعدادی از تکنیکهایی را که میتوانید برای نوشتن کدهای ایمن رشتهای استفاده کنید، نشان میدهد. این فصل با بازدید مجدد از نوع نماینده داتنت باز میشود تا اطمینان حاصل شود که پشتیبانی ذاتی نماینده برای فراخوانی روشهای ناهمزمان توضیح داده میشود. در مرحله بعد، انواع موجود در فضای نام System.Threading را بررسی خواهید کرد.
بخش بعدی کتابخانه موازی وظایف (TPL) را پوشش میدهد. با استفاده از TPL، توسعهدهندگان داتنت میتوانند برنامههایی بسازند که حجم کاری خود را در تمام CPUهای موجود به شیوهای بسیار ساده توزیع کنند. در این مرحله، شما همچنین با نقش موازی LINQ آشنا خواهید شد، که راهی برای ایجاد کوئریهای LINQ که در چندین هسته ماشین مقیاس میشوند، ارائه میدهد. باقیمانده فصل ایجاد تماسهای غیرمسدود کننده با استفاده از کلمات کلیدی async/await، توابع محلی و انواع بازگشت غیرهمگام تعمیمیافته، و جریانهای ناهمزمان، و متد ForEachAsync() را پوشش میدهد.
قسمت پنجم: برنامهنویسی با مجموعههای هسته داتنت
بخش پنجم به جزئیات فرمت اسمبلی داتنت میپردازد. نه تنها نحوه استقرار و پیکربندی کتابخانههای کد داتنت را خواهید آموخت، بلکه ترکیب داخلی یک تصویر باینری داتنت را نیز درک خواهید کرد. این بخش نقش ویژگیهای داتنت و نقش حل اطلاعات نوع در زمان اجرا و نقش Dynamic Language Runtime (DLR) و کلمه کلیدی پویا C# را توضیح میدهد. فصل آخر، نحو زبان میانی رایج (CIL) و نقش مجموعههای پویا را پوشش میدهد.
فصل 16: ساخت و پیکربندی کتابخانههای کلاس
در سطح بالا، اسمبلی اصطلاحی است که برای توصیف یک فایل باینری ایجاد شده با یک کامپایلر داتنت استفاده میشود. با این حال، داستان واقعی مجموعههای داتنت بسیار غنی تر از آن است. در اینجا، نحوه ساخت و استقرار اسمبلیها و تفاوت بین کتابخانههای کلاس و برنامههای کنسول را یاد خواهید گرفت. بخش آخر گزینههای جدید موجود در داتنت را پوشش میدهد، مانند فایلهای اجرایی تک فایل و انتشار آماده اجرا.
فصل 17: بازتاب نوع، صحافی دیررس، ویژگی و انواع دینامیک
این فصل با بررسی فرآیند کشف نوع زمان اجرا با استفاده از فضای نام System.Reflection به بررسی مجموعههای داتنت ادامه میدهد. با استفاده از انواع این فضای نام، میتوانید برنامههایی بسازید که میتوانند ابردادههای یک اسمبلی را در پرواز بخوانند. همچنین یاد خواهید گرفت که چگونه در زمان اجرا انواع را به صورت پویا با استفاده از اتصال دیرهنگام بارگذاری و ایجاد کنید.
موضوع بعدی این فصل نقش ویژگیهای داتنت (چه استاندارد و چه سفارشی) را بررسی خواهد کرد. برای نشان دادن سودمندی هر یک از این موضوعات، این فصل به شما نشان میدهد که چگونه یک برنامه کاربردی قابل توسعه کامل با Snap-in بسازید. .NET 4.0 جنبه جدیدی از محیط اجرا داتنت به نام Dynamic Language Runtime را معرفی کرد.
با استفاده از DLR و کلمه کلیدی پویا سیشارپ، میتوانید دادههایی را تعریف کنید که تا زمان اجرا واقعاً حل نشده باشند. استفاده از این ویژگیها برخی از وظایف برنامهنویسی پیچیده داتنت را به طور چشمگیری ساده میکند. در این مبحث پایانی فصل، برخی از کاربردهای عملی دادههای پویا، از جمله نحوه استفاده از APIهای بازتاب داتنت را به شیوهای ساده یاد خواهید گرفت.
فصل 18: درک CIL و نقش مجموعههای پویا
هدف فصل پایانی در این بخش دو چیز است. بخش اول نحو و معنای CIL را با جزئیات بسیار بیشتری نسبت به فصلهای قبلی بررسی میکند. بقیه این فصل نقش فضای نام System.Reflection.Emit را پوشش میدهد.
شما میتوانید از این انواع برای ساختن نرم افزاری استفاده کنید که میتواند مجموعههای NET Core را در حافظه در زمان اجرا تولید کند. به طور رسمی، مجموعههایی که در حافظه تعریف و اجرا میشوند، اسمبلیهای پویا نامیده میشوند.
بخش ششم: مدیریت فایل، سریالسازی اشیاء و دسترسی به دادهها
در این مرحله از متن، شما یک دسته محکم در مورد زبان C# و جزئیات فرمت اسمبلی داتنت دارید. بخش ششم با کاوش در تعدادی از سرویسهای پرکاربرد موجود در کتابخانههای کلاس پایه، از جمله I/O فایل، سریالسازی شی و دسترسی به پایگاه داده با استفاده از ADO.NET، از دانش جدید شما بهره میبرد.
فصل 19: فایل ورودی/خروجی و سریال سازی اشیاء
فضای نام System.IO به شما امکان میدهد با ساختار فایل و دایرکتوری ماشین تعامل داشته باشید. در طول این فصل، نحوه ایجاد (و تخریب) یک سیستم دایرکتوری را به صورت برنامهنویسی خواهید آموخت.
شما همچنین یاد خواهید گرفت که چگونه دادهها را به داخل و خارج از جریانهای مختلف منتقل کنید (به عنوان مثال، مبتنی بر فایل، مبتنی بر رشته، و مبتنی بر حافظه). بخش آخر این فصل خدمات سریال سازی شی XML و JSON پلت فرم داتنت را بررسی میکند. به زبان ساده، سریالسازی به شما امکان میدهد وضعیت عمومی یک شی (یا مجموعهای از اشیاء مرتبط) را در یک جریان برای استفاده بعدی حفظ کنید. Deserialization (همانطور که ممکن است انتظار داشته باشید) فرآیند برداشتن یک شی از جریان به حافظه برای مصرف توسط برنامه شما است.
فصل 20: دسترسی به دادهها با ADO.NET
این فصل دسترسی به پایگاه داده با استفاده از ADO.NET، API پایگاه داده برای برنامههای NET را پوشش میدهد. به طور خاص، این فصل شما را با نقش ارائه دهندگان داده داتنت و نحوه برقراری ارتباط با یک پایگاه داده رابطه ای با استفاده از ADO.NET آشنا میکند که با اشیاء اتصال، اشیاء فرمان، اشیاء تراکنش و اشیاء داده خوان نشان داده میشود. این فصل همچنین ایجاد پایگاه داده AutoLot را آغاز میکند که در قسمت هفتم بهبود خواهد یافت.
بخش هفتم: Entity Framework
در این مرحله از متن، شما یک دسته محکم در مورد زبان C# و جزئیات فرمت اسمبلی داتنت دارید. بخش ششم با کاوش در تعدادی از سرویسهای پرکاربرد موجود در کتابخانههای کلاس پایه، از جمله ورودی/خروجی فایل، دسترسی به پایگاه داده با استفاده از ADO.NET و دسترسی به پایگاه داده با استفاده از Entity Framework Core، از دانش جدید شما استفاده میکند.
فصل 21: معرفی Entity Framework Core
این فصل هسته چارچوب نهاد (EF) را معرفی میکند. EF Core یک چارچوب نگاشت شی رابطه ای (ORM) است که بر روی ADO.NET ساخته شده است. EF Core راهی برای نوشتن کد دسترسی به دادهها با استفاده از کلاسهای تایپ شده قوی ارائه میدهد که مستقیماً به مدل کسب و کار شما نگاشت میشود.
در اینجا، بلوکهای سازنده EF Core، از جمله DbContext، موجودیتها، کلاس مجموعه تخصصی DbSet<T> و DbChangeTracker را خواهید فهمید. در مرحله بعد، با ساخت مدل داده خود با درک قراردادهای EF Core، حاشیه نویسی دادهها و Fluent API آشنا خواهید شد. بخشهای بعدی اجرای پرس و جو و ردیابی در مقابل پرس و جوهای غیر ردیابی را پوشش میدهد. بخش پایانی این فصل ابزار جهانی EF Core برای رابط خط فرمان .NET Core (CLI) است.
فصل 22: کاوش هسته چارچوب موجودیت
این فصل به بررسی EF Core ادامه میدهد. این فصل با غواصی عمیق در عملیات ایجاد، خواندن، بهروزرسانی و حذف (CRUD) آغاز میشود. بقیه فصل برخی از ویژگیهای قابل توجه EF Core را پوشش میدهد، از جمله فیلترهای پرس و جو جهانی، پرس و جوهای خام SQL با LINQ، پیشبینیها، مقادیر ایجاد شده از پایگاه داده، بررسی همزمانی، انعطاف پذیری اتصال، نگاشت تابع پایگاه داده، دسته بندی عبارات، مبدلهای ارزش، و خواص سایه بخش آخر پشتیبانی از جدول زمانی SQL Server، جدیدترین ویژگی در EF Core 6 را پوشش میدهد.
فصل 23: یک لایه دسترسی به داده با هسته چارچوب موجودیت بسازید
این فصل لایه دسترسی به داده AutoLot را میسازد. این کار با داربست بندی پایگاه داده AutoLot از فصل 20 به یک کلاس DbContext و موجودیت مشتق شده آغاز میشود. سپس پروژه و پایگاه داده به روز میشوند تا به رویکرد اول کد تغییر کنند.
موجودیتها به نسخه نهایی خود به روز میشوند و مهاجرت برای به روز رسانی جداول پایگاه داده و افزودن اشیاء SQL Server استفاده میشود. تغییر نهایی پایگاه داده ایجاد یک مهاجرت برای رویه ذخیره شده از فصل 21 و یک نمای پایگاه داده جدید است. بخش بعدی مجموعه ای غنی از مخازن را برای کپسوله کردن کد میسازد و به روز رسانی نهایی اضافه کردن کد اولیه داده است.
فصل 24: تست رانندگی AutoLot
فصل 24 از چارچوب تست xUnit برای ساخت تستهای یکپارچهسازی خودکار برای لایه دسترسی به داده AutoLot استفاده میکند. در این فصل از بیش از 60 تست برای بررسی پرس و جو، ایجاد، به روز رسانی و حذف رکوردها استفاده میشود.
بخش هشتم: بنیاد ارائه ویندوز
اولین رابط کاربری گرافیکی دسکتاپ که توسط پلتفرم داتنت پشتیبانی میشد، فرمهای ویندوز نام داشت. در حالی که این API هنوز به طور کامل پشتیبانی میشود، .NET 3.0 برنامهنویسان را با یک API به نام Windows Presentation Foundation (WPF) معرفی کرد.
برخلاف فرمهای ویندوز، این چارچوب تعدادی از سرویسهای کلیدی، از جمله اتصال دادهها، گرافیکهای دوبعدی و سهبعدی، انیمیشنها و اسناد غنی را در یک مدل شی واحد و یکپارچه ادغام میکند. همه اینها با استفاده از یک دستور زبان نشانه گذاری اعلامی به نام زبان نشانهگذاری برنامه توسعهپذیر (XAML) انجام میشود. علاوه بر این، معماری کنترل WPF روشی بیاهمیت برای تغییر شکل ظاهر و احساس یک کنترل معمولی را با استفاده از کمی بیشتر از XAML به خوبی ارائه میکند.
فصل 25: معرفی Windows Presentation Foundation و XAML
در این فصل، شما با بررسی انگیزه ایجاد WPF (زمانی که قبلاً یک چارچوب توسعه دسکتاپ در داتنت وجود داشت) شروع خواهید کرد. سپس، با سینتکس XAML آشنا میشوید و در نهایت، نگاهی به پشتیبانی ویژوال استودیو برای ساخت برنامههای WPF بیندازید.
فصل 26: کنترلهای WPF، طرحبندیها، رویدادها و اتصال دادهها
این فصل شما را با فرآیند استفاده از کنترلهای WPF ذاتی و مدیران طرحبندی آشنا میکند. به عنوان مثال، شما یاد خواهید گرفت که سیستمهای منو، پنجرههای تقسیم کننده، نوار ابزار و نوار وضعیت بسازید. این فصل همچنین شما را با تعدادی از APIهای WPF (و کنترلهای مرتبط با آنها)، از جمله Ink API، دستورات، رویدادهای مسیریابی، مدل اتصال دادهها و ویژگیهای وابستگی آشنا میکند.
فصل 27: خدمات ارائه گرافیک WPF
WPF یک API گرافیکی فشرده است. با توجه به این واقعیت، WPF سه راه برای ارائه گرافیک ارائه میدهد: اشکال، طراحیها و هندسیها، و تصاویر. در این فصل، هر گزینه را ارزیابی خواهید کرد و در مورد تعدادی از گرافیکهای اولیه مهم (مانند قلم موها، قلمها و تبدیلها) در طول مسیر یاد خواهید گرفت. این فصل همچنین راههایی برای ترکیب تصاویر برداری در گرافیک WPF و همچنین نحوه انجام عملیات تست ضربه در برابر دادههای گرافیکی را بررسی میکند.
فصل 28: منابع، انیمیشنها، سبکها و الگوهای WPF
این فصل شما را با سه موضوع مهم (و مرتبط) آشنا میکند که درک شما را از Windows Presentation Foundation API عمیق تر میکند. اولین دستور کار یادگیری نقش منابع منطقی است. همانطور که خواهید دید، سیستم منبع منطقی (همچنین به عنوان منبع شیء نامیده میشود) راهی را برای شما فراهم میکند تا اشیاء رایج در برنامه WPF را نام ببرید و به آنها ارجاع دهید.
در مرحله بعد، نحوه تعریف، اجرا و کنترل یک دنباله انیمیشن را خواهید آموخت. با وجود آنچه ممکن است فکر کنید، انیمیشنهای WPF محدود به بازیهای ویدیویی یا برنامههای چند رسانهای نیستند. شما فصل را با یادگیری در مورد نقش سبکهای WPF به پایان میرسانید. مشابه یک صفحه وب که از CSS یا موتور تم ASP.NET استفاده میکند، یک برنامه WPF میتواند ظاهر و احساس مشترکی را برای مجموعهای از کنترلها تعریف کند.
فصل 29: اعلانهای WPF، اعتبارسنجی، دستورات و MVVM
این فصل با بررسی سه قابلیت اصلی چارچوب WPF آغاز میشود: اعلانها، اعتبارسنجیها و دستورات. در بخش اعلانها، با مدلها و مجموعههای قابل مشاهده و نحوه همگامسازی دادههای برنامه و رابط کاربری شما آشنا میشوید. در مرحله بعد، دستورات را عمیقتر خواهید کرد و دستورات سفارشی را برای کپسوله کردن کد خود ایجاد میکنید. در بخش اعتبار سنجی، نحوه استفاده از چندین مکانیسم اعتبار سنجی موجود در برنامههای WPF را یاد خواهید گرفت. فصل با بررسی الگوی Model-View-ViewModel (MVVM) بسته میشود و با ایجاد برنامهای که الگوی MVVM را در عمل نشان میدهد، پایان مییابد.
بخش نهم: ASP.NET Core
بخش هشتم به بررسی ساخت برنامههای کاربردی وب با استفاده از ASP.NET Core اختصاص دارد. فصلهای این بخش، مبانی ASP.NET Core و همچنین ساخت یک سرویس RESTful، یک برنامه وب با استفاده از الگوی MVC، و یک برنامه وب مبتنی بر صفحه Razor را پوشش میدهند.
فصل 30: معرفی ASP.NET Core
این فصل ASP.NET Core را معرفی میکند. پس از تشریح الگوی Model-View-Controller (MVC)، راه حل و سه پروژه ASP.NET Core ایجاد شده و راههای متعدد برای اجرا و اشکالزدایی برنامه مورد بررسی قرار میگیرد. در مرحله بعد، این فصل بسیاری از ویژگیهای ASP.NET MVC/ASP.NET WebAPI را که در هسته ASP.NET آورده شده است، پوشش میدهد. اینها شامل قرارداد بر پیکربندی، کنترلکنندهها و اقدامات، مسیریابی، اتصال مدل و اعتبارسنجی، و فیلترها میشود.
فصل 31: عمیق شدن در ASP.NET Core
این فصل بسیاری از ویژگیهای جدید معرفی شده در ASP.NET Core، از جمله صفحات Razor، سیستم پیکربندی آگاه از محیط زیست، تزریق وابستگی داخلی و الگوی گزینهها، کارخانه مشتری HTTP، الگوهای استقرار، خط لوله درخواست HTTP و گزارش را پوشش میدهد.
فصل 32: خدمات RESTful با ASP.NET Core
این فصل برنامه خدمات ASP.NET Core RESTful را به پایان میرساند. فصل با نگاهی به برگرداندن JSON از روشهای عمل و گزینههای پیکربندی JSON آغاز میشود. عملکرد کنترلرهای API که ApiAttribute اضافه میکند بررسی شده است. API Versioning در ادامه پوشش داده میشود، و پیکربندی Swagger/OpenAPI برای پشتیبانی از APIهای نسخهسازی شده بهروزرسانی میشود. یک کنترلکننده پایه برای ارائه عملیات استاندارد CRUD ایجاد میشود و کنترلکنندههای خاص موجودیت اضافه میشوند. یک فیلتر استثنا اضافه میشود و احراز هویت اولیه به سرویس اضافه میشود.
فصل 33: برنامههای کاربردی وب با MVC
این فصل برنامه وب مبتنی بر MVC را تکمیل میکند. این فصل با نگاهی عمیق به نماها و موتور نمایش Razor، از جمله طرحبندیها و جزئیها، آغاز میشود. در مرحله بعد، مدیریت کتابخانههای سمت مشتری و بستهبندی/کوچکسازی آن کتابخانهها پوشش داده میشود.
کنترل کننده پایه همراه با کنترلر خاص موجودیت مشتق شده ساخته شده است. یک منطقه برای مدیریت رکوردهای Make به برنامه اضافه میشود. کمککنندههای برچسب بعدی (یکی دیگر از ویژگیهای جدید در ASP.NET Core) مورد بررسی قرار میگیرند و به دنبال آن کمککنندههای برچسب سفارشی ایجاد میشوند.
مولفه view برنامه برای منوی پویا اضافه شده است. دو ویژگی اعتبار سنجی سفارشی و کد سرور و سمت سرویسگیرنده مربوط به آنها برای تأیید اعتبار یک مدل view استفاده میشود. بخش آخر پشتیبانی از مقررات حفاظت از دادههای عمومی (GDPR) در هسته ASP.NET را پوشش میدهد.
فصل 34: برنامههای کاربردی وب با استفاده از Razor Pages
این فصل با نگاهی عمیق به صفحات Razor و نماهای صفحه Razor شروع میشود و سپس برنامه AutoLot.Web را تکمیل میکند. بسیاری از قابلیتهای برنامه MVC، مانند طرحبندیها، نماهای جزئی، کمککنندههای برچسب، کامپوننتهای مشاهده، پشتیبانی GDPR و مناطق در برنامههای صفحه Razor پشتیبانی میشوند. تمام ویژگیهای برنامه AutoLot.Mvc در برنامه AutoLot.Web تکرار شده است و از شباهتها استفاده میکند و تفاوتهای بین صفحات MVC و Razor را برجسته میکند.
سرفصلهای کتاب Pro C# 10 with .NET 6:
- About the Authors
- About the Technical Reviewers
- Acknowledgments
- Introduction
- Part I: Introducing C# and .NET 6
- Chapter 1: Introducing C# and .NET 6
- Chapter 2: Building C# Applications
- Part II Core C# Programming
- Chapter 3: Core C# Programming Constructs, Part 1
- Chapter 4: Core C# Programming Constructs, Part 2
- Part II Core C# Programming
- Chapter 5: Understanding Encapsulation
- Chapter 6: Understanding Inheritance and Polymorphism
- Chapter 7: Understanding Structured Exception Handling
- Chapter 8: Working with Interfaces
- Chapter 9: Understanding Object Lifetime
- Part IV Advanced C# Programming
- Chapter 10: Collections and Generics
- Chapter 11: Advanced C# Language Features
- Chapter 12: Delegates, Events, and Lambda Expressions
- Chapter 13: LINQ to Objects
- Chapter 14: Processes, AppDomains, and Load Contexts
- Chapter 15: Multithreaded, Parallel, and Async Programming
- Part V Programming with .NET Core Assemblies
- Chapter 16: Building and Configuring Class Libraries
- Chapter 17: Type Reflection, Late Binding, Attribute, and Dynamic Types
- Chapter 18: Understanding CIL and the Role of Dynamic Assemblies
- Part VI File Handling, Object Serialization, and Data Access
- Chapter 19: File I/O and Object Serialization
- Chapter 20: Data Access with ADO.NET
- Part VI File Handling, Object Serialization, and Data Access
- Chapter 21: Introducing Entity Framework Core
- Chapter 22: Exploring Entity Framework Core
- Chapter 23: Build a Data Access Layer with Entity Framework Core
- Chapter 24: Test-Driving AutoLot
- Part VIII Windows Client Development
- Chapter 25: Introducing Windows Presentation Foundation and XAML
- Chapter 26: WPF Controls, Layouts, Events, and Data Binding
- Chapter 27: WPF Graphics Rendering Services
- Chapter 28: WPF Resources, Animations, Styles, and Templates
- Chapter 29: WPF Notifications, Validations, Commands, and MVVM
- Part VIII Windows Client Development
- Chapter 30: Introducing ASP.NET Core
- Chapter 31: Diving Into ASP.NET Core
- Chapter 32: RESTful Services with ASP.NET Core
- Chapter 33: Web Applications with MVC
- Index
جهت دانلود کتاب Pro C# 10 with .NET 6 میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.