הבדל בין צימוד ללכידות

הבדל בין צימוד ללכידות
הבדל בין צימוד ללכידות

וִידֵאוֹ: הבדל בין צימוד ללכידות

וִידֵאוֹ: הבדל בין צימוד ללכידות
וִידֵאוֹ: ההבדל בין שימוש בחברות באקסל לבין שימוש ב Power BI 2024, נוֹבֶמבֶּר
Anonim

צימוד מול לכידות

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

מהי לכידות?

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

מהו צימוד?

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

מה ההבדל בין Coupling ללכידות?

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

מוּמלָץ: