زمانی که شروع به توسعه یک وب اپلیکیشن میکنید شاید اولین سوالی که از خودتان بپرسید این باشد که با چه معماری شروع به کار بکنم؟ انتخاب یک معماری درست تعیین کننده تمام چیزی است که مربوط به وب اپلیکیشن شما خواهد بود: کارایی، تعاملات المانها و... . برای آنکه یک پروژه درست و کاربردی داشته باشید شما نیاز دارید که در ارتباط با این مسئله به خوبی آگاهی داشته باشید.
یک معماری مناسب برای توسعه وب اپلیکیشنها شامل موارد زیر است:
در اینجا می خواهیم با لایه های معماری clean یا همان Clean Architecture آشنا شویم.
معماری تمیز پروژه ما را به 5 لایه اصلی تقسیم می کند:
این لایه درونی ترین لایه پروژه می باشد و در مرکز هسته نرم افزار قرار دارد. تعاریف دیتابیس و ساختار دیتابیس و جداول در این لایه قرار می گیرد از جمله:
در این لایه Entity ها، Value Object ها، enum ها، Logic ها و Exception ها پیاده سازی می شوند.
در این لایه قواعد دیتابیس و پروژه، سرویس های مورد نیاز،اعتبارسنجی داده ها و عملیات ذخیره و بازیابی اطلاعات انجام می شود.
در این لایه: Interface ها، business logic و Command Query ها، Validator ها و Exeptionهای لایه اپلیکیشن یا business
در این لایه DbContext را پیاده سازی میکنیم و عملیات ماگریشن نیز در این لایه انجام می شود، کانفیگ هایی که برای entity ها توسط ef انجام می شود در این بخش پیاده سازی می کنیم، مقدار دهی اولیه به انتیتی ها نیز در این لایه انجام میگیرد.
در این لایه کارهایی که خارج از business هست را انجام می دهیم مثلا ارسال ایمیل یا پیامک یا Api های که از بیرون تهیه می کنیم ، کار با فایل سیستم ها در این لایه پیاده سازی می شوند.
همان طور که از نام این لایه مشخص است در این لایه UI پروژه و دستورات اصلی برنامه قرار می گیرد. در واقع پروژه اصلی شما در این لایه قرار دارد.
در این لایه خروجی اصلی برنامه قرار میگیرد مثلا یک خروجی وب Mvc
در این مقاله سعی کردم به ساده ترین صورت معماری تمیز رو برای شما دوستان توضیح دهم تا اگر مشکلی در لایه های این معماری دارید برطرف شود.
اگر سوالی بود میتونید در نظرات به اشتراک بگذارید تا پاسخ داده شود.