סינגלטון

מְחַבֵּר: Monica Porter
תאריך הבריאה: 15 מרץ 2021
תאריך עדכון: 1 יולי 2024
Anonim
Самый популярный и тупой паттерн - Singleton
וִידֵאוֹ: Самый популярный и тупой паттерн - Singleton

תוֹכֶן

הגדרה - מה המשמעות של סינגלטון?

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

דפוס הסינגלטון משמש בשפות תכנות כמו Java ו- .NET להגדרת משתנה גלובלי. אובייקט יחיד שמשתמש במערכות נותר קבוע ויש להגדירו רק פעם אחת ולא פעמים רבות.


מבוא ל- Microsoft Azure ו- Microsoft Cloud | במהלך מדריך זה תוכלו ללמוד על אודות מיחשוב ענן וכיצד Microsoft Azure יכולה לעזור לכם להעביר ולנהל את העסק שלכם מהענן.

Techopedia מסביר את סינגלטון

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

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

  1. הקבלן נעשה פרטי. זה מאפשר רק לכיתה לקבל גישה לסינגלטון.

  2. דוגמא:
    מבחן כיתה
    {
    נתוני מבחן פרטיים ()
    {
    // ... אין אופציה לסינגלטון

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

    דוגמא:

    // יצירה עצלנית של מופע פנימי בסינגלטון
    מופע נתונים סטטי ציבורי
    {
    לקבל
    {
    נעילה (סוג של (מבחן נתונים))
    {
    אם (_מופע == null)
    _instance = testdata ();
    }
    חזרה _מופע;
    }
    }