الدرس 7: نمذجة المجال الغنية
عندما يوجد كل منطق العمل في الخدمات وتحتفظ الأصناف بالبيانات فقط مع getters وsetters عامة، يمكن لأي سطر من الشيفرة أن يكسر القواعد: مجموع سالب، أو طلب بلا عناصر. في هذا الدرس ننقل السلوك إلى الكيان نفسه، بحيث لا يمكن إنشاء حالة غير صالحة على الإطلاق.
نموذج المجال الغني يشبه آلة بيع المشروبات: لا يمكنك فتح الباب والاستيلاء على علبة — بل تُدخل عملة معدنية، والآلة تصرف المشروب وفق قواعدها الخاصة.
- نموذج المجال الغني
- سلوك العمل وقواعده تعيش داخل الكيان نفسه: حقول خاصة، وكل تغيير للحالة يمر عبر دالة تتحقق من القاعدة.
- النموذج الهزيل
- أصناف بيانات فقط مع getters/setters عامة بينما كل المنطق موجود في الخدمات — أي مستدعٍ يمكنه تجاوز القواعد وإنشاء حالة غير صالحة.
- اللامتغيّر
- قاعدة يجب أن تتحقق دائمًا للكائن — مثلًا: مجموع الطلب لا يكون سالبًا أبدًا. في النموذج الغني يفرضها الكيان بنفسه.