طبقة الخدمة هي طبقة خارجية أم لا؟ إن لم يكن ثم تأتي تحت أي طبقة؟

StackOverflow https://stackoverflow.com/questions/1838298

  •  11-09-2019
  •  | 
  •  

سؤال

طبقة الخدمة هي طبقة خارجية أم لا؟ إن لم يكن ثم تأتي تحت أي طبقة؟

أجب من فضلك

شكرا

هل كانت مفيدة؟

المحلول

يمكنك تنظيم نظام في العديد من الطرق المختلفة، ليس هناك بنية واحدة فقط. لم أستخدم مصطلح "OUTER" الطبقة "الخارجية". من المعقول أن يتضح من نفس النظام في طرق متعددة منطقية، والهندسة المعمارية الفيزنسية ...

لا يمكننا الإجابة فقط على سؤالك إذا كنا نعرف الطبقات التي اخترتها في الهندسة المعمارية قيد المناقشة، فينبغي بعد ذلك فهم أين تكمن الخدمات. لقد أخبرتنا فقط عن "الخارج"، لا نعرف ما هي البدائل الموجودة هناك.

أنا أفكر في العرض التقديمي والمنطق التجاري والمثابرة. في هذه الحالة الخدمات تكمن في طبقة منطق الأعمال.

أود أن أقول أنه من المعقول أن تفكر في الخدمات باعتبارها الواجهة العامة للنظام وهكذا بحكم بعضهم يكمن في الطبقة "الخارجية".

وأضاف استجابة للتعليق:

لا توجد إجابة بسيطة على هذا. كل هذا يتوقف على ما نعنيه "الخدمة" وما تفعله طبقاتنا. دعونا نأخذ مثال ملموس: افترض أن واجهة المستخدم لدينا تريد عرض تفاصيل الفاتورة. قد نختار إنشاء خدمة

InvoiceDto getInvoiceDetails(int invoiceNumber)

يبدو من الواضح جدا أن تطبيق من هذه الخدمة في طبقة منطق الأعمال. وقد تكون الواجهة مكتبة بسيطة، أو خدمة ويب اعتمادا على كيفية التواصل بين الطبقات.

ثم قررنا عرض هذه الخدمة للعملاء حتى تتمكن تطبيقاتهم من الاتصال بالخدمة عبر الإنترنت. سيكون لدينا بعض الكود في طبقة الويب التي ربما تعرض خدمة راحة

http://dave.org/service/invoice/nnnn

من الواضح أن هناك قليلا من رمز محول يعمل في طبقة الويب، وهناك يمكننا إدارة المصادقة وما إلى ذلك ولكن أين الخدمة؟ هل هو فقط هذا المبدد؟ هل هو منطق الأعمال؟ هل كلاهما؟

إلى طريقي في التفكير في الخدمة الحقيقية هي المنطق يعمل في طبقة العمل، والباقي مجرد السباكة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top