שיעור 7: מודל דומיין עשיר
כשכל הלוגיקה העסקית יושבת בשירותים והמחלקות מחזיקות רק נתונים עם get/set ציבוריים, כל שורת קוד יכולה לשבור את הכללים: סכום שלילי, הזמנה בלי פריטים. בשיעור הזה נעביר את ההתנהגות אל הישות עצמה, כך שמצב לא חוקי פשוט לא יוכל להיווצר.
מודל דומיין עשיר הוא כמו מכונת שתייה: אי אפשר לפתוח את הדלת ולקחת פחית — מכניסים מטבע, והמכונה מוציאה בעצמה לפי הכללים שלה.
- מודל דומיין עשיר
- ההתנהגות והכללים העסקיים יושבים בתוך הישות עצמה: שדות פרטיים, וכל שינוי מצב עובר דרך מתודה שבודקת את הכלל.
- מודל אנמי
- מחלקות של נתונים בלבד עם get/set ציבוריים, כשכל הלוגיקה בשירותים — כל קורא יכול לעקוף את הכללים וליצור מצב לא חוקי.
- אינווריאנט
- כלל שחייב להתקיים תמיד עבור האובייקט — למשל: סכום הזמנה לעולם לא שלילי. במודל עשיר הישות אוכפת אותו בעצמה.