آموزش معماری تمیز Clean Architecture در ASP.NET Core 3
تکنولوژی ASP.NET Core

توضیحات
آموزش معماری تمیز Clean Architecture در ASP.NET Core 3 یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این آموزش نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. این آموزش به زبان انگلیسی از وبسایت یوتیوب منتشر شده است و در این قسمت به صورت فارسی به شما تقدیم می گردد.
معماری تمیز (Clean Architecture) چیست؟
طی سالهای اخیر ظهر تعداد زیادی از ایده های متنوع برای معماری موفق یک سیستم نرمافزاری را شاهد بوده ایم. بعضی از این موارد شامل معماری های زیر می باشند که توسط افراد مختلف تنظیم شده اند:
- معماری Hexagonal Architecture که تحت عنوان Ports and Adapters نیز شناخته می شود.
- معماری Growing Object Oriented Software
- معماری Onion Architecture
- معماری Screaming Architecture
- معماری DCI
- معماری BCE که در کتاب Object Oriented Software Engineering: A Use-Case Driven Approach مطرح شده است.
هرچند که این معماری ها کمی در جزئیات با یکدیگر متفاوت هستند اما اساس کار آن ها و اهدافی که دنبال میکنند یکسان می باشد. هدف تمامی این معماری ها تفکیک کردن قسمتهای مختلف برنامه و یا separation of concerns می باشد. این هدف مهم با شکستن یک نرمافزار به لایه های مختلف انجام می پذیرد. تمامی این معماری ها حداقل یک لایه برای قوانین تجاری و یا business rule ها در نظر می گیرند و یک لایه دیگر برای اینترفیس ها. در این رابطه می توانید از آموزش اینترفیس ها در سی شارپ نیز استفاده کنید.

ویژگی های معماری تمیز (Clean Architecture)
معماری هایی که از آنها صحبت کردیم سیستمهای را ایجاد میکنند که دارای ویژگی های زیر می باشند:
مستقل از فریم ورک: با استفاده از معماری هایی که مطرح شد سیستم نهایی به هیچ یک از فریم ورک های نرمافزاری وابستگی مستقیم ندارد. این موضوع اجازه میدهد تا بتوانید فریم ورک ها و ابزارهای مختلف را به صورت آزادانه استفاده کنید و مجبور نباشید که نرمافزار نهایی خود را محدود به یک و یا چندین فریم ورک کنید.
قابلیت تست پذیر بودن: قوانین تجاری میتوانند بدون درگیر کردن دیتابیس و یا واسط کاربری برنامه و یا هر عنصر خارجی دیگری به راحتی تست بشوند. موضوع تست پذیری یک موضوع بسیار مهم در توسعه نرمافزار است. در این رابطه می توانید از آموزش نکات طلایی تست واحد Unit Test پیشرفته در سی شارپ استفاده کنید.
مستقل از واسط کاربری: با استفاده از معماری های مطرح شده واسط کاربری به راحتی می تواند تغییر کند و ایجاد تغییر هیچ تاثیری بر روی قسمتهای دیگر سیستم نخواهد داشت. برای مثال، یک واسط کاربری تحت وب را می توان با یک واسط کاربری کنسولی بدون تغییر دادن قوانین تجاری جایگزین کرد.
مستقل از دیتابیس: به سادگی می توانید از سیستم های دیتابیس مختلف از قبیل Oracle و SQL Server و for Mongo و BigTable و CouchDB استفاده کنید. قوانین تجاری شما هیچ وابستگی به دیتابیس نخواهند داشت.
مستقل از هر عنصر خارجی: با اعمال این معماری ها قوانین تجاری و یا همان business rule های شما به هیچ وجه جزئیاتی در رابطه با دنیای خارجی نمی دانند و به آن وابستگی نخواهند داشت.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام