محمد طاهری
محمد طاهری
خواندن ۲ دقیقه·۱۰ ماه پیش

معرفی دات نت Web API -درس 01- آشنایی پروژه محور با Asp.Net 8 Web API

سلام دوستان. امیدوارم عالی باشین.

تو این پست و چند پست بعدی میخوام یه پروژه جمع و جور رو پیاده سازی کنم و کنار همدیگه کلی مطالب خوب و مفید رو باهم مرور کنیم وکنار هم یاد بگیریم. برای این پروژه از ورژن 8 دات نت و پروژه Web API استفاده میکنیم که امروزه بسیار محبوب، پرکاربرد و درآمد زا هست. همچنین خوبی این ورژن اینه که لانگ-ترم ساپورت هست و تا 3 سال پشتیبانی میشه.

Image source: https://dotnet.microsoft.com/en-us/platform/support/policy
Image source: https://dotnet.microsoft.com/en-us/platform/support/policy


نکته 1: سطح این پروژه بین کارآموز تا مید-لول خواهد بود و اگر شما یه فرد حرفه ای هستین احتمالا این پروژه براتون پیش پا افتاده محسوب بشه.

نکته 2: تمام کدهای مربوط به این پروژه تو گیتهابم موجود هستن و میتونین اونا رو دانلود کنین و با کد خودتون مقایسه کنین. لینکشو میزارم تو همه قسمت ها. همچنین هر قسمت رو بصورت یه برنچ جدا سعی میکنم بزارم که شما بتونین کدهای مربوط به همون درس رو با همون وضعیت ببینین.

نکته 3: برای پیاده سازی Web API پروتکل های مختلفی وجود داره از جمله:

  • پروتکل GraphQL
  • پروتکل WebSocket
  • پروتکل RESTful
  • پروتکل SOAP
  • پروتکل gRPC
  • پروتکل Webhook

تو این پروژه من از RESTful API استفاده میکنم که هم ساده تر هست و هم یکی از مهم ترین و پرکاربردترین پروتکل ها هست و تو اکثر آگهی های استخدامی هم مورد نیاز هست.

Image source: ByteByteGo: Top 6 Most Popular API Architecture Styles
Image source: ByteByteGo: Top 6 Most Popular API Architecture Styles


نکته 4: سعی میکنم اول کار مطالب خیلی مقدماتی و پیش پا افتاده باشه و بعد حرفه ای ترش کنیم. یعنی اول خیلی خیلی ساده موجودیت ها و کنترلرها رو بسازیم و به دیتابیس وصل بشیم و تو قدم های بعدی موارد مفیدتر رو اضافه میکنیم مثل

  • سرویس ها
  • الگوی Repository و چرایی مفید بودن ریپازیتوری ها
  • قابلیت خفن Generic Repository که تو پروژه های بزرگ میتونه کار رو راحت تر کنه
  • چندین مدل از Collection ها که خیلی پرکاربرد هستن
  • پکیج EF Core و ویژگی های جذابش
  • پکیج AutoMapper
  • پکیج Fluent Validation
  • کش کردن مقادیر با Redis
  • کش کردن مستقیم Response با Redis
  • لاگ زدن با Serilog
  • ارتباطات One-To-One و One-To-Many و Many-To-Many
  • آشنایی با IEnumerable و IQueryable
  • آشنایی با Entity و Value Object
  • آشنایی با ورژن بندی - Api Versioning
  • آشنایی با CQRS و پکیج MediatR
  • ارسال (Publish) یک رویداد (Event) با استفاده از MediatR
  • (این لیست آپدیت خواهد شد. الان فقط همینا تو ذهنم بود 😉)

امیدوارم مطالب مفیدی باشه و به کارتون بیاد.


و من الله توفیق

ارادتمند

محمد

پروژهدات نتASPNETweb api
شاید از این پست‌ها خوشتان بیاید