אתה משתמש בסינגלים כדי לספק מופע משותף נגיש ברחבי העולם של מחלקה הגדרה זו אינה ייחודית לתיעוד של אפל. המאמר בוויקיפדיה שקישרתי למעלה גם קובע ש"יישום של דפוס הסינגלטון חייב לספק גישה גלובלית לאותו מופע. "
למה משתמשים בסינגלטון ב-Swift?
Singleton הוא תבנית עיצוב יצירתית, המבטיחה שרק אובייקט אחד מסוגו קיים ומספקת אליו נקודת גישה אחת לכל קוד אחר. לסינגלטון יש כמעט אותם יתרונות וחסרונות כמו למשתנים גלובליים. למרות שהם שימושיים במיוחד, הם שוברים את המודולריות של הקוד שלך.
מתי אסור להשתמש בסינגלטון?
המצב היחיד שבו אתה צריך לשקול סינגלטון הוא כאשר יש יותר ממופע אחד של נתונים גלובליים כבר תהיה למעשה שגיאת גישה לוגית או חומרה.
קישורים קשורים:
- שבריריות שהועלתה על ידי Global State וסינגלטונים.
- הזרקת תלות למניעת רווקים.
- מפעלים ורווקים.
למה סינגלטון טוב?
יש להשתמש בסינגלטון כאשר מנהלים גישה למשאב המשותף לכל האפליקציה, וזה יהיה הרסני אם יהיו מופעים מרובים מאותה מחלקה. לוודא שהגישה למשאבים משותפים בטוחה היא דוגמה טובה מאוד לכך שדפוס כזה יכול להיות חיוני.
האם סינגלטון הוא סוויפט גרוע?
סינגלטונים אינם רעים באופן אוניברסלי, אבל במצבים רבים הם מגיעים עם סדרה של בעיות שניתן להימנע מהן על ידי יצירת קשרים מוגדרים יותר היטב בין האובייקטים שלך ועל ידי שימוש בתלות הזרקה.