پرووید
منو

آموزش معماری تمیز و بهترین روش ها در ASP.NET Core

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 4:00:28تعداد ویدئوها: 71فایل های پروژه: ناموجود
قیمت:۴٬۵۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش پیشرفته ASP.NET Core است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش معماری تمیز و بهترین روش ها در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی بهترین نکات مربوط به معماری اپلیکشن های ASP.NET Core است که با نام اصلی Architecting ASP.NET Core Applications Best Practices از شرکت Pluralsight منتشر شده است.

معماری تمیز (Clean Architecture) چیست؟

هدف اصلی Clean Architecture این است که به کسب و کار امکان سازگاری با تغییر تکنولوژی و interface ها را بدهد و از دسک تاپ به تلفن همراه یا از تلفن همراه به virtual assistant منتقل شود و core business یکسان باقی می ماند.

Foundational Architectural Principles - نمونه ای از بخش Understanding Foundational Architectural Principles در آموزش معماری تمیز و بهترین روش ها در ASP.NET Core
نمونه ای از بخش «Understanding Foundational Architectural Principles» در آموزش معماری تمیز و بهترین روش ها در ASP.NET Core

به خصوص در دنیای سریع فریم ورک های Javascript و کتابخانه های front-end و استفاده کردن از معماری تمیز می تواند شما را از الگوی مشترک couple کردن business logic به لایه presentation یا فریم ورک حفظ کند. دسترس پذیرکردن هر business solution خاصی در هر فرمت خاصی از تکنولوژی نباید به بازنویسی کردن بخش های زیادی از اپلیکیشن داشته باشد.

فریم ورک ASP.NET Core چیست؟

فریم ورک ASP.NET Core یک ورژن جدید از فریم ورک وب ASP.NET است که اساساً برای راه اندازی بر روی پلتفرم NET Core. در نظر گرفته شده است. ASP.NET Core یک فریم ورک رایگان open-source و cross-platform برای ساخت اپلیکیشن های مبتنی بر cloud مانند وب اپلیکیشن های IoT و backend های موبایل می باشد. فریم ورک ASP.NET Core به سادگی می تواند بر روی cloud و همچنین on-premise ها اجرا شود. این فریم ورک نیز همانند NET Core. به صورت modular با حداقل overhead ساخته شده و همچنین قابلیت های پیشرفته دیگری می توانند به عنوان NuGet package به نیازمندی هر اپلیکیشن اضافه شود.

Understanding the Different Test Types - نمونه ای از بخش Testing the Application Code در آموزش معماری تمیز و بهترین روش ها در ASP.NET Core
نمونه ای از بخش «Testing the Application Code» در آموزش معماری تمیز و بهترین روش ها در ASP.NET Core

این منجر به کارایی بالاتر، نیاز کمتر به حافظه و سایز کمتر deployment و راحتی در نگهداری می شود. ASP.NET Core یک فریم ورک open source است که توسط مایکروسافت و جامعه برنامه نویسان پشتیبانی می شود. بنابراین شما می توانید ‌source code مربوط به ASP.NET Core را از repository آن بر روی Github دانلود کرده و یا در آن مشارکت کنید. ASP.NET 3.x فقط بر روی .NET Core 3.x اجرا می شود. اگر چه ASP.NET Core 2.x بر روی NET Core 2.x. و همچنین فریم ورک NET. اجرا می شود.

چرا از ASP.NET Core استفاده کنیم؟

  • پشتیبانی پلتفرم های چندگانه: برنامه های ASP.NET Core می توانند بر روی Windows و Linux و Mac اجرا شوند. بنابراین شما نیازی به استفاده از فریم ورک های متفاوت برای ساخت اپلیکیشن های متفاوت برای پلتفرم های متفاوت ندارید.
  • سرعت عمل: فریم ورک ASP.NET Core برای ایجاد ارتباط بین کاربر و مرورگر به اسمبلی System.Web.dll وابسته نیست. ASP.NET Core به ما این اجازه را می دهد تا پکیج هایی که برای اپلیکیشن نیاز داریم را به برنامه اضافه کنیم. این موضوع request pipeline را کوچکتر کرده و performance و scalabity را ارتقا می دهد.
  • IoC Container: فریم ورک ASP.NET Core شامل یک IoC درونی برای dependency injection خودکار می باشد که به آن قابلیت نگه داری و تست پذیری می دهد.
  • یکپارچگی با فریم ورک های UI امروزی: فریم ورک ASP.NET Core به شما اجازه استفاده و مدیریت کردن فریم ورک های UI امروزی، از قبیل Angular JS و ReactJS و Umber و Bootstrap و غیره را می دهد.
  • میزبانی (Hosting): وب اپلیکیشن های نوشته شده با ASP.NET Core می توانند بر روی چندین پلتفرم با هر وب سرویسی از قبیل IIS و Apache و غیره میزبانی شوند.
  • به اشتراک گذاری کد: فریم ورک ASP.NET Core به شما اجازه می دهد تا یک class library را ایجاد کنید و در فریم ورک های دیگر دات نت از قبیل پلتفرم NET 4.x. یا Mono استفاده کنید.
  • ورژن دهی اپلیکیشن (App Versioning) کنار هم (side-by-side): این موضوع باعث می شود تا بتوانید چندین ورژن مختلف از یک اپلیکیشن را  بصورت همزمان در اختیار داشته باشید.
  • رد پای Deployment کوچکتر: اپلیکیشن های ASP.NET Core بر روی NET Core. که از فریم ورک کامل دات نت کوچکتر است، اجرا می شوند. بنابراین اپلیکیشنی که فقط قسمتی از NET CoreFX. را استفاده می کند سایز deployment کوچکتری خواهد داشت. این موضوع رد پای deployment را کاهش می دهد.

جداسازی Application Core و Infrastructure در معماری ASP.NET Core

در یک اپلیکیشن بزرگ، نگهداری منطق اصلی برنامه در کنار جزئیات پایگاه داده، ارسال ایمیل و ارتباطات خارجی می‌تواند تغییرات را دشوار کند. این آموزش با استفاده از نمونه Globo Ticket، طراحی یک ساختار معماری برای برنامه‌های .NET Core را بررسی می‌کند و به اجرای `Application Core` و ایجاد پروژه `Infrastructure` می‌پردازد. هدف این است که مسئولیت‌های منطق برنامه از جزئیات فنی موردنیاز برای اجرا تفکیک شوند. در این ساختار، قابلیت‌هایی مانند ماندگاری داده یا ارسال پیام می‌توانند از طریق اجزای مشخص به هسته برنامه متصل شوند، بدون آنکه منطق اصلی مستقیماً به جزئیات هر ابزار وابسته بماند.

بخش‌های عملی آموزش استفاده از `Entity Framework Core` برای ماندگاری داده و افزودن قابلیت ارسال ایمیل در Infrastructure را پوشش می‌دهند. این مثال‌ها نشان می‌دهند چگونه نیازهای زیرساختی را می‌توان در لایه‌ای جداگانه پیاده‌سازی کرد. همچنین، موضوع `CQRS` و استفاده از Commandها برای ایجاد Entity جدید بررسی می‌شود تا نحوه سازمان‌دهی عملیات برنامه روشن‌تر شود. این مباحث برای توسعه‌دهندگانی اهمیت دارند که با افزایش قابلیت‌های یک سیستم، می‌خواهند تغییرات پایگاه داده یا سرویس‌های خارجی کمترین اثر ممکن را بر منطق کاربردی داشته باشند و ساختار پروژه را برای توسعه و نگهداری بهتر سازمان‌دهی کنند.

طراحی API، تست واحد و بهبود قابلیت‌های کاربردی با MediatR

پس از شکل‌گیری لایه‌های اصلی برنامه، لازم است قابلیت‌ها از طریق رابط‌های مناسب در دسترس قرار گیرند و امکان بررسی رفتار آن‌ها فراهم شود. این آموزش افزودن API با ASP.NET Core و استفاده از `MediatR` برای پیاده‌سازی کدهای مرتبط با Controller را پوشش می‌دهد. همچنین، انتشار عملکرد API با `Swagger` و استفاده از `NSwag` و `NSwagStudio` بررسی می‌شود. این ابزارها به توصیف و بررسی قراردادهای API کمک می‌کنند و می‌توانند در فرایند توسعه کلاینت‌ها و مستندسازی Endpointها نقش داشته باشند. در کنار پیاده‌سازی، آموزش به ایجاد Unit Test برای کدهای Application نیز می‌پردازد.

موضوع ارتقای رفتار اپلیکیشن، از جمله افزودن قابلیت `Paging`، نشان می‌دهد چگونه می‌توان API را برای کار با مجموعه‌داده‌های بزرگ‌تر کاربردی‌تر کرد. صفحه‌بندی به‌جای برگرداندن تمام نتایج در یک پاسخ، امکان دریافت داده‌ها در بخش‌های مشخص را فراهم می‌کند و در طراحی Endpointها اهمیت دارد. در کنار آن، تست واحد کدهای Application به بررسی منطق کاربردی بدون نیاز به اجرای دستی تمام مسیرهای برنامه کمک می‌کند. ترکیب MediatR، Swagger، ابزارهای تولید و بررسی قرارداد API و تست‌نویسی، دیدی عملی از مسیر توسعه یک قابلیت از منطق برنامه تا ارائه آن از طریق API فراهم می‌کند.

سرفصل مطالب آموزش ویدئویی معماری تمیز و بهترین روش ها در اپلیکیشن های ASP.NET Core

فصل اول: بررسی کلی این دوره آموزشی

  • مقدمه

فصل دوم: معرفی این دوره

  • مقدمه
  • یک Solid Architecture برای NET Core. اپلیکیشن ها در Globo Ticket
  • مواردی که قبل از شروع باید بدانید.
  • دمو: مشاهده اپلیکیشن کامل شده

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

  • مقدمه سبک های معماری بنیادی انواع مختلف اپلیکیشن Architecture درک کردن Clean Architecture جمع بندی

فصل چهارم: اجرای Application Core

  • مقدمه
  • درک کردن نیازمندی های business
  • اجرای اپلیکیشن Architecture
  • دمو: ایجاد راه حل استودیو visual
  • ایجاد پروژه Domain
  • دمو: ایجاد پروژه Domain
  • طراحی پروژه اپلیکیشن
  • دمو: طراحی پروژه اپلیکیشن
  • استفاده از MediatR و AutoMapper
  • دمو: نوشتن اپلیکیشن logic در request Handler
  • معرفی CQRS در اپلیکیشن Architecture
  • دمو: اضافه کردن CQRS در اپلیکیشن Architecture
  • درک کردن ویژگی ها
  • دمو: ساماندهی کد با استفاده از ویژگی ها
  • دمو: استفاده از Command ها برای ایجاد Entity جدید
  • اضافه کردن Validation با استفاده از Fluent Validation
  • دمو: اضافه کردن Validation و Custom Exception ها
  • جمع بندی

فصل پنجم: ایجاد پروژه Infrastructure

  • مقدمه
  • درک کردن هدف پروژه های Infrastructure
  • اضافه کردن Data persistence با Entity Framework Core
  • دمو: اضافه کردن Entity Framework Core
  • دمو: اجرا کردن لایه persistence
  • اضافه کردن پروژه Infrastructure
  • دمو: اضافه کردن پشتیبانی برای Mailing از Infrastructure
  • جمع بندی

فصل ششم: اضافه کردن API با استفاده از ASP.NET Core

  • مقدمه
  • ساختن پروژه API
  • دمو: اضافه کردن پروژه API
  • انتقال دادن از View service ها به MediatR
  • دمو: اضافه کردن کد کنترل کننده با استفاده از MediatR
  • تصمیم گیری در مورد بازگرداندن object ها
  • دمو: بازگرداندن View model ها و response ها
  • دمو: اضافه کردن پشتیبانی برای بازگرداندن یک فایل CSV
  • در معرض گذاشتن عملکرد API با استفاده از  Swagger
  • دمو: اضافه کردن پشتیبانی برای Swagger
  • جمع بندی

فصل هفتم: امتحان Application Code 

  • مقدمه
  • درک کردن انواع مختلف تست ها
  • ایجاد  Unit Test ها
  • دمو: ایجاد Unit Test ها برای Application Code
  • دمو: نوشتن Integration Test ها برای Infrastructure
  • دمو: نوشتن  Integration Test ها برای کنتر کنندگان API
  • جمع بندی

فصل هشتم: اضافه کردن یک UI

  • مقدمه
  • معرفی Blazor Client-side
  • استفاده از NSwag و NSwagStudio
  • دمو: تولید Client Code با استفاده از Nswag
  • جستجوی اپلیکیشن Client
  • دمو: جست و جوی اپلیکیشن Blazor
  • دمو: اضافه کردن عملکرد صفر تا صد Paging
  • جمع بندی

فصل نهم: ارتقای رفتار اپلیکیشن ها

  • مقدمه
  •  هندل کردن خطاها در API
  • دمو: هندل کردن خطاها
  • اضافه کردن Logging به Architecture
  • دمو: اضافه کردن Logging به اپلیکیشن
  • احراز هویت کاربر ها
  • دمو: اضافه کردن Authentication با استفاده از Token ها
  • دمو: اضافه کردن Authentication به اپلیکیشن Blazor
  • جمع بندی نهایی
دیدگاه کاربران

دیدگاه ها

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