آموزش معماری تمیز (Clean Architecture) در ASP.NET Core

تعداد ویدئو 71
زمان دوره 4:08:39
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

آموزش معماری تمیز (Clean Architecture) در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، پیاده سازی معماری تمیز (Clean Architecture) در ASP.NET Core است که با نام اصلی ASP.NET Core 6 Clean Architecture از شرکت Pluralsight منتشر شده است.

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

اپلیکیشن های تجاری و اصل dependency inversion و یا معکوس سازی وابستگی به همراه اصول طراحی دامنه محور و یا Domain-Driven Design (DDD) استفاده می کنند، اغلب به سمت یک معماری مشابه می‌روند. این معماری تحت نام‌های متعدد و متفاوتی شناخته می‌شود. یکی از نامهای ابتدایی که برای این معماری در نظر گرفته شد، معماری شش ضلعی و یا hexagonal architecture بود. پس از آن از نام Ports-and-Adapters نیز برای این نامگذاری استفاده شده است. امروزه برای این معماری، نام هایی از قبیل معماری پیازی و یا onion architecture و معماری تمیز ویا clean architecture استفاده می شود. با این وجود بسیاری از منابع و کتاب ها و آموزش ها از معماری تمیز و یا clean architecture یاد می گردد.

معماری تمیز کمک می‌کند تا business logic و application model در مرکز معماری قرار بگیرند. به عبارت دیگر به جای اینکه business logic وابسته به data access یا کد های دیگرinfrastructure باشد، این وابستگی و یا dependency معکوس می گردد. به عبارت دیگر infrastructure و جزئیات پیاده سازی و یا implementation detail ها به Application Core وابسته هستند. این موضوع با تعریف کردن abstraction ها و یا interface ها در Application Core که نهایتاً در لایه‌های مختلف برنامه، به طور ویژه در پروژه Infrastructure پیاده سازی می شوند، امکان پذیر می گردند.

ASP.NET-Core-6-Clean-Architecture-Snapshot

در تصویری که در قسمت زیر مشاهده می کنید، شکل کلی این معماری نمایش داده شده است دقت کنید که این شکل شبیه به پیاز از دایره های متحد المرکزی که لایه‌های مختلف برنامه را نشان می‌دهند، تشکیل شده است.

ASP.NET-Core-6-Clean-Architecture-image1-2

هماهطور که در تصویر بالا مشهده می کنید؛ وابستگی ها ازلایه های بیرونی تر به سمت لایه های درونی تر شکل گفته اند. لایه Application Core که در وسط و یا در هسته (Core) قرار گرفته است، مهمترین بخش معماری به حساب می آید. همانطور که در تصویر نیز مشخص است Application Core هیچ وابستگی به لایه هی دیگر ندارد. entity ها و اینترفیس های اپلیکیشن در مرکز قرار می گیرند. علاوه بر این در بیرون از این دایره، ولی همچنان در Application Core لایه domain service ها نیز قرار می گیرند که اغلب اینترفیس هایی که درون دایره وسط هستند را پیاده سازی می کنند. در بیرون از Application Core لایه های UI و infrastructure قرار گرفته که به Application Core وابسته هستند. تصویر زیر نیز لایه های مختلف معماری تمیز را اینبار به صورت افقی نشان می دهد، تا به وابستگی های موجود را به شکل بهتری درک کنیم.

ASP.NET-Core-6-Clean-Architecture-image2-2

در تصویر بالا پیکان هایی که بصورت خط تو پر نشان داده شده اند، نمایانگر dependency های compile-time هستند و پیکان هایی که به صورت خط چین هستند، نمایانگر dependency های run-time هستند. در معماری تمیز لایه UI با اینترفیس شده در Application Core در زمان کامپایل کار می کند. روال ایده آل این است که هیچ اطلاعی در رابطه با تایپ های پیاده سازی شده و یا implementation type های موجود در لایه infrastructure در دسترس نباشد. در زمان run-time این implementation type ها که مورد نیاز اپلیکیشن هستند، بایستی در اختیار اپلیکیشن قرار بگیرند. این موضوع با استفاده از dependency injection و اینترفیس های تعریف شده اتفاق می افتد.

سرفصل مطالب آموزش ویدئویی معماری تمیز (Clean Architecture) در ASP.NET Core

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: مقدمه

  • مقدمه
  • بررسی یک معماری قوی برای اپلیکیشن های NET Core.
  • آنچه باید قبل از شروع این دوره آموزشی بدانید
  • آموزش عملی: بررسی اپلیکیشن این دوره آموزشی

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

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

فصل چهارم: راه اندازی کردن Application Core

  • مقدمه
  • بررسی نیازمندی های تجاری و یا Business Requirement ها
  • راه اندازی کردن معماری اپلیکیشن
  • آموزش عملی: ایجاد کردن یک Solution در ویژوال استودیو
  • ساختن پروژه Domain
  • آموزش عملی: ساختن پروژه Domain
  • طراحی کردن پروژه اپلیکیشن
  • آموزش عملی: ایجاد کردن پروژه اپلیکیشن
  • استفاده کردن از MediatR و AutoMapper
  • آموزش عملی: کار با Application Logic در Request Handler
  • معرفی کردن CQRS در معماری
  • آموزش عملی: اضافه کردن CQRS به درون معماری
  • بررسی Feature ها
  • آموزش عملی: سازماندهی کردن کد با استفاده از Feature ها
  • آموزش عملی: استفاده از Command ها برای ایجاد یک Entity جدید
  • افزودن Validation با استفاده از Fluent Validation
  • آموزش عملی: افزودنValidation و Exception های سفارشی
  • جمع بندی

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

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

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

  • مقدمه
  • ایجاد کردن پروژه API
  • آموزش عملی: ایجاد کردن پروژه API
  • استفاده از از View Services به MediatR
  • آموزش عملی: افزودن کد کنترلر با استفاده از MediatR
  • تصمیم گیری درباره اینکه چه آبجکتی باید برگردانده شود
  • آموزش عملی: برگرداندن View Model ها و Response ها
  • آموزش عملی: افزودن پشتیبانی از بازگرداندن یک فایل CSV
  • انتشار قابلیت های API با استفاده از Swagger
  • آموزش عملی: اضافه کردن پشتیبانی از Swagger
  • جمع بندی

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

  • مقدمه
  • بررسی انواع مختلف تست ها ایجاد Unit Test ها
  • اضافه کردن Unit Test ها
  • آموزش عملی: ایجاد کردن Unit Test ها برای کدهای اپلیکیشن
  • آموزش عملی: نوشتن Integration Test برای پروژه Infrastructure
  • آموزش عملی: نوشتن Integration Test برای کنترلرهای API
  • جمع بندی

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

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

فصل نهم: بهبود رفتارهای اپلیکیشن

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

1 دیدگاه برای آموزش معماری تمیز (Clean Architecture) در ASP.NET Core

  1. Hfatemeh (خریدار محصول)

    سلام من این محصول رو خریداری کردم. اما فایلهای تمرین تو ویژوال استودیو بار نمیشه. بعضی گلاس ها رو با نوت پد هم باز می کنم خالیه
    میشه لطفا بررسی کنید؟

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید