عرض عملي: إعادة تصميم تجمّع Order
في هذا الدرس 3 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
refactor an anemic Order into an aggregate. Prepares MID-060-LAB1.
تفاصيل المخطط المبدئي
خطوة بخطوة
- Start from the setter-based
Orderand a service withif (status == ...)checks. - Introduce
OrderId,Money, andOrderLinevalue types; remove setters. - Move rules into methods:
addLine,place,cancel, with status transitions. - Raise
OrderPlacedandOrderCancelledevents and publish them from the application service aftersave. - Planned mistake: hold a full
Customerobject insideOrder. Replace it withCustomerIdand explain why loading and locking grew. - Write one unit test per invariant, with no Spring context.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.