سؤال

هل أنا محق في التفكير في أن الغرض من طبقة الخدمة يتضمن ما يلي؟

  • تخفيف من نماذج المجال (أي حركة بعض الوظائف مثل التخزين المؤقت ، والتثبيت)
  • انخفاض في التبعيات من نماذج المجال
  • تقليل API
هل كانت مفيدة؟

المحلول

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

في التطبيق الأكبر ، يتم استخدام نماذج مجال فقر الدم النمط ، حيث يتم استخدام كائنات المجال فقط كحاويات بيانات ، ومنطق العمل بأكمله في طبقة خدمة المجال الخاصة بك (يشار أحيانًا ، مع إضافة طبقة تجريد أخرى).

في أبعاد حلول الاختلاف والأنماط ، قد يكون للطبقة خدمة الغرض من الفرق ، على الرغم من.

نصائح أخرى

تقليديًا (عند عدم استخدام تصميم المجال) ، فإن طبقة الخدمة ، أو "طبقة العمل" كما يطلق عليها أيضًا ، هي المكان الذي تقوم فيه بترميز جميع منطق العمل لتطبيقك. لذلك ، على سبيل المثال في طلب يتعامل مع تقديم القروض المصرفية ، فإن طبقة الخدمة هي المكان الذي تقرر فيه الرمز ما إذا كان ينبغي منح قرض معين أم لا. من الواضح أن طبقة الخدمة ستتطلب بعض المعلومات حول مقدم طلب القرض لتتمكن من اتخاذ قرار بشأن مصداقيتها. لاسترداد هذه المعلومات ، تستدعي طبقة العمل طبقة "البيانات" أو "المستودع" ، والتي تتعامل مع استخراج وتخزين المعلومات في قاعدة البيانات.

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

إذا كان التصميم الخاص بك يحركه المجال ، فإن إجابة Anthares صحيحة.

طبقة الخدمة كما يقترح الاسم توفر خدمات ليست مسؤولية مباشرة لأي كائن مجال آخر.

تساعد طبقة الخدمة أيضًا في فصل المسؤوليات. تشكل طبقة الخدمة الجزء الأوسط بين طبقة قاعدة البيانات/الثبات وطبقة العميل/واجهة المستخدم/الويب.

يتيح تصميم طبقة الخدمة بشكل صحيح استخدامها من أي عميل سواء كان عميل ويب أو خدمة ويب (SOA) أو الجهاز المحمول.

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