TGViewer
DotNetZoom DotNetZoom @dotnetzoom · 2.82K subscribers
Post #1085 4.29K
✅ آموزش معماری تمیز (Clean Architecture) + سورس کد بهترین پیاده سازی ها

اکثر مقالاتی که این معماری رو به صورت کلی و انتزاعی توضیح دادند ممکنه برنامه نویس رو به خوبی شیرفهم نکنه مخصوصا وقتی با مفاهیمی آشنا میشن که شاید تا قبل نمیشناختین یا معادلی براش توی ذهنتون ندارین مثل Interactor و Interface Adapters و Drivers!
این موضوع حتی برای منبع اصلی Clean Artchiture یعنی مقاله شخص Robert C Martin (معروف به Uncle Bob) هم صدق میکنه هرچند که خیلی جامع و کامل توضیح داده ولی برای یه برنامه نویس سی شارپی ممکنه مبهم به نظر بیاد، مادامی که پیاده سازی عملی ازش رو نبینه.
همچنین خیلی از مقاله ها با دخیل کردن بیش از حد مورادی چون DDD و CQRS و ...، فهم اصل موضوع Clean Architecture رو برای مخاطب سخت میکنن.

🔸مقاله زیر خیلی ساده و روان و البته مختصر و مفید به توضیح معماری تمیز پرداخته و در آخر هم رفرنس های خوبی رو معرفی میکنه که پیشنهاد میکنم حتما ببینیدشون
https://www.dandoescode.com/blog/clean-architecture-an-introduction/

🔹و اما بریم سر اصل مطلب یعنی پیاده سازی؛ پیاده سازی های مختلفی از این معماری وجود داره توی اینترنت و گیتهاب که هرکس معمولا بنا به فهم و سلیقه خودش اومده یه پروژه ای ساخته که بعضا اشتباه هم هستند و صرفا اسم Clean Architecture رو به دوش میکشند

1️⃣ بهترین پیاده سازی هایی که من دیدم به ترتیب اینا هستند
https://github.com/jasontaylordev/CleanArchitecture
🔰آموزش ویدئویی این مورد توی یوتیوب هم هست که برای درک بهتر خیلی بهتون کمک میکنه
https://www.youtube.com/watch?v=5OtUm1BLmG0
https://jasontaylor.dev/clean-architecture-getting-started/

2️⃣ پیاده سازی بعدی توسط ardalis تهیه شده و ویدئو اش هم توی یوتیوب قرار داده شده
https://github.com/ardalis/CleanArchitecture

3️⃣ پیاده سازی بعدی هم خوبه و توضیحات بیشترش توی wiki خود ریپازیتوری و پست های وبلاگ نویسنده (1 و 2 و 3) + پلی لیست ویدئو هاش تو یوتیوب خود نویسنده قرار داده شده
https://github.com/ivanpaulovich/clean-architecture-manga


4️⃣ و در اخر پیاده سازی زیر که به همراه پست بلاگ نویسنده قرار داده شده
https://github.com/mmacneil/CleanAspNetCoreWebApi
________________
@DotNetZoom
More from @dotnetzoom
  1. Dec 27, 2021امکانات LINQ در NET 6. ✅ ۱- امکان مشخص کردن مقدار پیش‌فرض در OrDefault* var item1 = list1.…
  2. Dec 6, 2021انتقال داده ها به واسطه Azure Service Bus امروزه سرعت انتقال داده‌ها از اهمیت بالایی برخور…
  3. Nov 29, 2021اضافه شدن قابلیت Temporal Table به EF Core 6 ➖ مایکروسافت در سال 2016 قابلیت Temporal Tabl…
  4. Nov 10, 2021همه چیز در مورد NET Core 6. دیروز نسخه رسمی NET Core 6. به همراه نسخه رسمی Visual Studio 2…
  5. Nov 10, 2021نسخه نهایی NET 6.0 منتشر شد. نسخه 6.0 دات نت به صورت طولانی مدت پشتیبانی میشود (LTS) و توس…
  6. Nov 8, 2021کنفرانس NET. Conf هر سال خبرهای هیجان‌انگیزی داره. امسال هم NET. خبر های خوب و جذابی داره…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →