در این مقاله، روشی برای ساخت برنامههای ابری مدرن با دو چالش اصلی مورد بررسی قرار میگیرد: معماری کد برای نگهداری، تست و تکامل آسان و استقرار کارآمد در محیطهای بیسرور که زمان شروع سرد (cold start) اهمیت دارد. یک برنامه آمار جام جهانی فوتبال قطر 2022 با استفاده از معماری تمیز و طراحیمحور دامنه (DDD) ساخته شده و سپس در Google Cloud Run با کامپایل استاندارد JVM و GraalVM Native برای مقایسه عملکرد مستقر میشود.
معماری تمیز، وابستگیها را به سمت داخل هدایت میکند و لایههای مختلف (زیرساختی، کاربردی و دامنهای) را با استفاده از اصل وارونگی وابستگی (Dependency Inversion Principle) جدا میکند. لایه دامنهای، منطق تجاری خالص را در خود جای داده و از جزئیات پیادهسازی پایگاه داده، HTTP یا فریمورکها بیاطلاع است. لایه کاربردی، عملیاتهای دامنهای را از طریق موارد استفاده (use cases) هماهنگ میکند و پورتهایی (interfaces) برای وابستگیهای خارجی تعریف میکند. لایه زیرساختی، پیادهسازیهای آداپتور را ارائه میدهد که قراردادهای پورت را برآورده میکنند. این جداسازی، تغییرات در زیرساخت را بدون تأثیر بر منطق تجاری امکانپذیر میکند.
کد منبع کامل در GitHub در دسترس است.
مشاهده مطلب اصلی