بسیاری از ما با معماری تمیز آشنا هستیم، امروزه به این رویکرد معماری لایه ای سنتی گفته می شود.
یک معماری سنتی لایهای یا پیازی کد را بر اساس concern های فنی در لایههای مختلف سازماندهی میکند. در این رویکرد، هر لایه مسئولیت فردی در سیستم دارد. در این معماری لایه ها به یکدیگر وابسته هستند و می توانند با یکدیگر همکاری کنند.
در برنامه های وب، لایه های زیر ممکن است اعمال شوند:
- Presentation
- Application
- Domain
- Infrastructure
مشکلات معماری تمیز یا لایه ای سنتی
در معماری لایه ای سنتی coupling و وابستگی لایه ها به شدت بالا است و قابلیت نگهداری مشکل خواهد بود و تغییر موازی بین توسعه دهندگان ممکن است دشوار باشد، به این معنی که با تغییر بخش های مختلف، برنامه ممکن است خراب شود.
معماری Vertical Slice یا برش عمودی
معماری Vertical Slice یا برش عمودی یک الگوی معماری است که کدها را به جای الگوهای فنی بر اساس ویژگی ها سازماندهی می کند.
ایده پشت معماری Vertical Slice این است که به جای ایجاد لایههای جداگانه کد برای هر موضوع فنی، مانند interface, data access و business logic، کدها حول یک ویژگی خاص سازماندهی میشوند.
همانطور که در تصویر می بینید، ایده معماری برش عمودی در مورد گروه بندی کدها بر اساس عملکردهای تجاری است و همه کدهای مربوطه را در کنار هم قرار می دهد.
در معماری لایه ای هدف این است که به لایه های افقی فکر کنیم، اما در حال حاضر باید به لایه های عمودی فکر کنیم، در این مورد باید همه چیز را به عنوان یک ویژگی قرار دهیم، یعنی نیازی به لایه های مشترک مانند repositories, services, infrastructure نداریم، حتی کنترلرها. ما فقط باید روی ویژگی ها تمرکز کنیم.
ما در این آموزش معماری Vertical Slice یا برش عمودی در Asp.net Core را با استفاده از .net8 و پیاده سازی کرده ایم. همچنین در این آموزش از minimal Api ها، Mediator و FluentValidation استفاده کرده ایم.
دریافت سورس معماری Vertical Slice در Asp.net core
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید