חוק נוסף ששוה להדגיש
המאמר טוען כנגד צימוד דינאמי - הדוגמה לקוד שעושה זאת:
getOrder().getCustomer().getAddress().getState()
העקרון הזה נוסח באופן פורמלי, ונקרא
החוק של דמטר, וניתן להסביר אותו באופן לא פורמלי כך (תרגום מאנגלית): * מותר לך לשחק עם עצמך * מותר לך לשחק עם הצעצועים שלך (אבל אסור לפרק אותם) * מותר לך לשחק עם צעצועים שניתנו לך * מותר לך לשחק עם צעצועים שיצרת בצעמך ובתכנותית: * למתודה מותר לבצע מתודות אחרות במחלקה שלה * למתודה מותר לבצע מתודות של אובייקטים בשדות של המחלקה (אבל אסור לה לבצע מותדות של האובייקטים המוחזרים כתוצאה מהקריאות הללו) * אם המתודה מקבלת ארגומנטים, מותר לה לבצע מתודות שלהם * אם המתודה יוצרת אובייקטים מקומיים, מותר לה לקרוא למתודות שלהם.
getOrder().getCustomer().getAddress().getState() // Should have been: getOrder.getCustomerState()
אני ממליץ לקרוא את שאר הלינק...