CodeShot
Seniorسختی 3 از ۵· در 68٪ مصاحبه‌های این حوزه پرسیده شده

تفاوت Onion Architecture و Layered Architecture سنتی چیست؟

نشان کردن

پاسخ کوتاه

در Layered سنتی معمولاً وابستگی‌ها رو به پایین (تا دیتابیس) جریان دارند؛ در Onion همه وابستگی‌ها رو به داخل و به‌سمت هسته Domain جریان دارند.

پاسخ کامل

در معماری لایه‌ای سنتی، UI معمولاً به Business Logic و آن هم به Data Access وابسته است — یعنی جهت وابستگی رو به پایین است. در Onion Architecture این جهت برعکس می‌شود: همه لایه‌ها (از جمله Infrastructure) به‌سمت هسته Domain وابسته‌اند، و Domain به هیچ‌کدام وابسته نیست.