انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهMID-060-L07

عرض عملي: إعادة تصميم تجمّع Order

  • الدرس 7 من 7
  • Mid-level
في هذا الدرس 3 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

refactor an anemic Order into an aggregate. Prepares MID-060-LAB1.

تفاصيل المخطط المبدئي

خطوة بخطوة

  1. Start from the setter-based Order and a service with if (status == ...) checks.
  2. Introduce OrderId, Money, and OrderLine value types; remove setters.
  3. Move rules into methods: addLine, place, cancel, with status transitions.
  4. Raise OrderPlaced and OrderCancelled events and publish them from the application service after save.
  5. Planned mistake: hold a full Customer object inside Order. Replace it with CustomerId and explain why loading and locking grew.
  6. Write one unit test per invariant, with no Spring context.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.