مرتضی احمدوند
مرتضی احمدوند
خواندن ۲ دقیقه·۲ سال پیش

معماری تمیز (Clean Architecture):

شکل ساختاری معماری تمیز
شکل ساختاری معماری تمیز


زمانی که شروع به توسعه یک وب اپلیکیشن می‌کنید شاید اولین سوالی که از خودتان بپرسید این باشد که با چه معماری شروع به کار بکنم؟ انتخاب یک معماری درست تعیین کننده تمام چیزی است که مربوط به وب اپلیکیشن شما خواهد بود: کارایی، تعاملات المان‌ها و... . برای آنکه یک پروژه درست و کاربردی داشته باشید شما نیاز دارید که در ارتباط با این مسئله به خوبی آگاهی داشته باشید.

یک معماری مناسب برای توسعه وب اپلیکیشن‌ها شامل موارد زیر است:

  • امنیت بالا
  • رفع نیازهای کسب و کار
  • تجربه کاربری سریع و بهینه
  • پشتیبانی از تست‌ها و آنالیزهای مختلف
  • وجود خلاقیت بصری
  • پشتیبانی از قابلیت خودکارسازی
  • مقیاس‌پذیری و مقیاس‌دهی آسان
  • خود تنظیم‌گری

در اینجا می خواهیم با لایه های معماری clean یا همان Clean Architecture آشنا شویم.

مزیت ها:

  • مستقل از فریم ورک
  • قابلیت تست پذیری بالا
  • مستقل از UI
  • مستقل از دیتابیس

معماری تمیز پروژه ما را به 5 لایه اصلی تقسیم می کند:

  • Domain
  • Application
  • Persistence
  • Infrastructure
  • Persentation

لایه Domain:

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

در این لایه Entity ها، Value Object ها، enum ها، Logic ها و Exception ها پیاده سازی می شوند.

لایه Application:

در این لایه قواعد دیتابیس و پروژه، سرویس های مورد نیاز،اعتبارسنجی داده ها و عملیات ذخیره و بازیابی اطلاعات انجام می شود.

در این لایه: Interface ها، business logic و Command Query ها، Validator ها و Exeptionهای لایه اپلیکیشن یا business

لایه Persistence:

در این لایه DbContext را پیاده سازی میکنیم و عملیات ماگریشن نیز در این لایه انجام می شود، کانفیگ هایی که برای entity ها توسط ef انجام می شود در این بخش پیاده سازی می کنیم، مقدار دهی اولیه به انتیتی ها نیز در این لایه انجام میگیرد.

لایه Infrastructure:

در این لایه کارهایی که خارج از business هست را انجام می دهیم مثلا ارسال ایمیل یا پیامک یا Api های که از بیرون تهیه می کنیم ، کار با فایل سیستم ها در این لایه پیاده سازی می شوند.

لایه Presentation:

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

در این لایه خروجی اصلی برنامه قرار میگیرد مثلا یک خروجی وب Mvc


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

اگر سوالی بود میتونید در نظرات به اشتراک بگذارید تا پاسخ داده شود.







clean architectureمعماری تمیزmvcasp net mvc
برنامه نویس و توسعه دهنده وب، مدرس دوره های برنامه نویسی
شاید از این پست‌ها خوشتان بیاید