PDA

View Full Version : تفاوت معماری DDD و پیاز



mandagarana
پنج شنبه 09 بهمن 1399, 15:06 عصر
باسلام
میشه کسی در مورد تفاوت های معماری DDD با معماری پیازی رو بگه؟
این دوتا یکی هستن یا نه فقط شباهت های زیادی دارند و در عین حال تفاوت هایی هم باهم دارند؟

veniz2008
سه شنبه 14 بهمن 1399, 20:31 عصر
باسلام
میشه کسی در مورد تفاوت های معماری DDD با معماری پیازی رو بگه؟
این دوتا یکی هستن یا نه فقط شباهت های زیادی دارند و در عین حال تفاوت هایی هم باهم دارند؟
سلام.
Domain Driven Design ( DDD ) معماری نیست، یک الگوی تولید نرم افزار هست یعنی مستقیما پیاده سازی رو انجام نمیده بلکه اصول کار رو مشخص می کنه. الگوی DDD اصطلاحا یک الگوی Domain Centric هست. Domain یا هسته اصلی یک سیستم بایستی بخش اصلی و مرکزی طراحی قرار بگیره و این بخش بایستی مستقل از سایر بخش ها ( لایه ها ) باشه و در واقع بقیه بخش ها به این Domain وابسته باشند و این Domain نبایستی به بخش های دیگه مثل دیتابیس، Service ها یا UI وابسته باشه.
اما Onion Architecture ( معماری پیازی ) یکی از معماری هایی هست که الگوی DDD را پیاده سازی می کند. توی این معماری درونی ترین لایه ( لایه مرکزی ) همون Domain (بصورت ساده و نه کاملا دقیق همون Entity های شما هست که معرفی کننده مفهوم اون سیستم هستن). این لایه نبایستی به هیچ لایه دیگه ای وابستگی داشته باشه. در واقع در این معماری جهت وابستگی از بیرون به داخل هست و هر لایه داخلی به لایه بیرونی تر وابستگی نباید داشته باشه.
مفاهیم DDD و Onion بسیار زیاد هستن و بایستی ساعت ها وقت بذارید و مطالعه کنید.
سرچ بزنید مطالب خوبی می تونید پیدا کنید.
موفق باشید.