فرق لایه service و لایه dao در spring چیست؟

0 رأی
میانگین بازدید روزانه 0.42567 بازدید

چرا در spring عملیات دیتابیسی را باید در لایه dao  پیاده سازی کرد چرا نمیتوان این عملیات را در لایه service انجام داد  فرق این دو لایه در چیست؟

سوال 3 سال قبل در تالار برنامه نویسی توسط bahrambb (283 امتیاز)
ویرایش 3 سال قبل توسط Saeed Zarinfam

1 جواب

0 رأی
 
بهترین جواب

این بخاطر تبعیت از معماری لایه ای است. در لایه DAO عملیات مربوط به ارتباط با دیتابیس انجام میشه و در لایه سرویس عملیات مربوط به کار های بیزینسی که معمولا از ترکیب چند DAO انجام میشه.

مزایای این جدا سازی عبارت است از:

  • خواناتر شدن کد و در نتیجه نگهداری از کد در بلند مدت راحتتر می شود.
  • بالا رفتن reuseability یعنی می توانید از یک DAO نوشته شده در چند سرویس استفاده کنیم.
  • افزودن یک قابلیت عمومی خاص به یک لایه راحتر انجام می شود و همچنین لایه های دیگر تحت تاثیر قرار نمی گیرند. برای مثال transaction management  در لایه سرویس.
جواب 3 سال قبل توسط Saeed Zarinfam (707 امتیاز)
انتخاب شده در 3 سال قبل توسط bahrambb
ممنون از جواب کاملتون
توی برنامه باید به ازای هر entitiy یک پیاده ساز DAO داشته باشیم ؟؟ آیا بهتر نیست یک لایه DAO برای تمام entity های برنامه وجود داشته باشد چون در لایه DAO فقط عملیات crud انجام میگیرد که با یک پیاده سازی میتوانیم تمام عملیات crud را برای تمام entity ها داشته باشیم
این روش هایی که شما گفته اید همگی ممکن است و یک تصمیم معماری است که باید در زمان طراحی معماری اولیه گرفته شود.

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.12132 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.24363 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.19194 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.641,411 بازدید
سوال 6 سال قبل در تالار برنامه نویسی توسط engineer (833 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.571,340 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.32229 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.3542 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.5971 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.2328 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.33182 بازدید
کانال تلگرام جواب یاب
...