למה השתנות גרועה?

תוכן עניינים:

למה השתנות גרועה?
למה השתנות גרועה?
Anonim

התשובה היא שסוגים בלתי ניתנים לשינוי בטוחים יותר מבאגים, קלים יותר להבנה ומוכנים יותר לשינוי. שינוי מקשה להבין מה התוכנית שלך עושה, והרבה יותר קשה לאכוף חוזים.

האם אובייקטים שניתנים לשינוי גרועים?

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

למה המצב המשותף גרוע?

מצב ניתן לשינוי משותף פועל באופן הבא: אם שני צדדים או יותר יכולים לשנות את אותם נתונים (משתנים, אובייקטים וכו'). ואם זמני חייהם חופפים. אז יש סיכון ששינויים של צד אחד ימנעו ממפלגות אחרות לפעול כהלכה.

למה אי-שינוי הוא דבר טוב?

מלבד שימוש מופחת בזיכרון, אי-שינוי מאפשר לך לייעל את היישום שלך על ידי שימוש בשוויון התייחסות וערך. זה מקל מאוד לראות אם משהו השתנה. לדוגמה, שינוי מצב ברכיב תגובה.

מהם החסרונות של אי-שינוי?

החיסרון האמיתי היחיד של מחלקות בלתי ניתנות לשינוי הוא שהן דורשות אובייקט נפרד עבור כל ערך מובחן. יצירת חפצים אלה עלולה לעלות ביוקר, במיוחד אם הם גדולים. לדוגמה, נניח שיש לך מיליוני סיביות BigInteger ואתה רוצה לשנות את הסיביות בסדר נמוך שלו:BigInteger moby=…; moby=moby.

מוּמלָץ: