أين يمكن أن تكون قواعد الأعمال واسعة النطاق مثل رسوم المعالجة ، الحد الأدنى للودائع؟

لديّ موقع إلكتروني للتجارة الإلكترونية وأحب مشروعاتي بدرجة كبيرة جدًا/متقاربة إلى حد كبير/قابلة للتوسعة للغاية.

هذا المشروع في MVC 3 ، مكتبة النطاق ، مكتبة الخدمة ، ومكتبة الوصول إلى البيانات (نمط مستودع التخزين).

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

0

1 إجابة

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

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

1
وأضاف
"أفضل ممارسة" تعتمد الكثير على بيئة التطوير الخاصة بك. في تجربتي ، من المنطقي وجود طبقات تفصل بين واجهة المستخدم الرسومية وقاعدة البيانات من منطق التطبيق ، مثل التجريدات ، بطريقة أو بأخرى. لا يوجد بالضبط عدد الطبقات الموجودة ، حيث تقع الحدود ، وكيف تعمل واجهة برمجة التطبيقات (API) ليس مهمًا تقريبًا مثل وجود رؤية واضحة لكيفية القيام بها يتم اتباعها باستمرار. واحد أو اثنين من "المارقين" في مشروع ، الذين يشعرون بالحاجة إلى الحصول على "مبدع" يمكن أن تحدث أضرار أكثر بكثير مما قد تتوقعه.
وأضاف المؤلف kgrittn, مصدر
إذن ما هي ممارسة شائعة جيدة؟ مكتبة فئة أخرى تتعامل مع مثل هذه المعاملات؟ أو تضمين هذا المنطق في طبقة الخدمة؟
وأضاف المؤلف Max Alexander, مصدر