ویرگول
ورودثبت نام
پل بنجامین :)
پل بنجامین :)
پل بنجامین :)
پل بنجامین :)
خواندن ۲ دقیقه·۸ ماه پیش

الگوهای رایج در معماری نرم‌افزار

معماری لایه‌ای

این الگو در ۴ لایه‌ی زیر تعریف می‌شود:

۱- Presentation Layer

۲- Business Layer

۳- Persistence Layer

۴-Database Layer

جداسازی این لایه‌ها در علاوه‌ بر جدا شدن مسئولیت‌های هربخش، این امکان را می دهد که لایه‌ها بتوانند به راحتی و بدون ایجاد مزاحمت با سایر لایه‌ها تغییر کنند.

یکی از نمونه‌های این معماری MPV (Model-View-Presenter) هست.

معماری رویداد محور

در این الگو تولید‌کننده‌های رویداد و مصرف‌کننده‌های رویداد قرار دارند و سیستم را به دو بخش مجزا تقسیم می‌کند.

یکی از مثال‌های خوب در این بخش CQRS (Command Query Responsibility Segregation) است. در CQRS بخش Command و بخش Query به صورت مجزا کار می‌کنند و تغییرات بیشتر اوقات توسط رویداد‌ها مخابره می‌شود.

معماری میکروکرنل

در این الگو، کارکرد هسته مرکزی سیستم، به بخش‌های میکروکرنل‌ها تقسیم شده که به صورت پلاگین قابلیت اتصال به هسته مرکزی را دارند. برای مثال در سیستم عامل، سیستم با تمرکززدایی برخی وظایف (مثل مدیریت حافظه یا ارتباط با دستگاه‌ها) و واگذاری آن‌ها به کامپوننت‌های خارجی کارایی و انعطاف‌پذیری را افزایش می‌دهد.

از ویژگی‌های این الگو، توسعه‌پذیری، نگهداری آسان و ایزوله بودن نسبت به خطا است. چرا که هر بخش جدید به صورت پلاگین اضافه شده و هسته مرکزی در صورت بروز خطا در هر یک از پلاگین‌ها، دچار خطا نخواهد شد.

معماری میکروسرویس

در این معماری، سیستم به سرویس‌های کوچک با حداقل وابستگی به یکدیگر شکسته‌ شده است. هر سرویس شامل بیزینس و دیتا مدل مجزا بوده و توسط اندپوینت‌ها با یکدیگر تعامل هستند. بنابراین می توانند توسعه، دیپلوی و اسکیل مجزای داشته باشند. از این الگو برای رشد سریع و ایده پردازی مدل مناسبی است. با این حال، هرچقدر سرویس‌های بیشتری داشته باشیم، پیچیدگی ارتباط بین سرویس‌ها و همچنین ناسازگاری بین داده بیشتر خواهد بود. برای مثال نتفیلیکس برای سرویس پیشنهاد دهنده و پرداخت خود از این معماری استفاده کرده است.

معماری یکپارچه

در این الگو، همه‌ی بخش‌های یک سیستم، از رابط کاربری، منطق بیزینسی و دسترسی به داده همراه با هم در یک کدبیس پیاده سازی شده و در یک واحد اجرا می‌شود. در این الگو توسعه و دیپلوی آسان است و از آن در استارت‌ها آپ‌ها و اپلیکیشن‌های کوچک استفاده می‌شود.

یکپارچگی ماژولار بر حفظ واحد‌های قابل استقرار تاکید می‌کند و با قرار دادن مرز برای بخش‌های مختلف کدبیس، کمک می‌کند که در زمانی که اپلیکیشن ما بزرگ‌تر شد، بتوانیم به راحتی به سمت معماری‌هایی نظیر میکروسرویس برویم.



منبع:

https://www.youtube.com/watch?v=f6zXyq4VPP8<br/>


توسعه نرم افزارمعماری نرم افزار
۱
۰
پل بنجامین :)
پل بنجامین :)
شاید از این پست‌ها خوشتان بیاید