מודולריות (תכנות) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
←‏פתיח: , הרחבה
Matanyabot (שיחה | תרומות)
מ בוט החלפות: \1תת-, \1קובצי\2, פרויקט
שורה 1:
'''מוֹ‏דוּ‏לַ‏רִיוּ‏ת בתוכנה''' היא תכונה של מערכת מיחשוב המתארת את מידת הפריקות שלה, כדי לאפשר החלפה של חלקים או הוספה של חלקים שלא הוגדרו מראש. מערכת מודולרית היא מערכת הבנויה מיחידות משנה, שיכולות להיות זהות או שונות. הרכיבים שלכל אחד יש קיום נבדל ועצמאי, צריכים להיות מסוגלים להתחבר, לתקשר, לתפעל ולהחליף מידע באמצעות ממשק סטנדרטי, כאשר רצוי (אבל לא הכרחי) שיהיו בעלי צמידות רופפת.
 
בתחום התוכנה, הצורך במודולריות הוא מרכזי. תוכנת מחשב בנויה מסדרה של הוראות לביצוע בעלת מבנה לוגי מסוים. חלוקה של התוכנה לתת מערכות שמבצעות תת -משימות, ואבחנה ברורה בין חלקים שונים בתוכנה, באופן שתפקיד כל חלק מוגדר וברור היטב מאפשרת מודולריות.
 
אפיון ברור של תפקיד כל חלק ואופן השימוש בו מאפשרים שימוש בחלקים אלה גם בתוכנה אחרת, בצירוף עם חלקים אחרים. שפות תכנות רבות תומכות בצורות שונות של חלוקת התוכנה ליחידות בעלות תפקיד מוגדר, לדוגמה, [[שגרה (תכנות)|פרוצדורה]] (או [[פונקציה (תכנות)|פונקציה]]), Unit, [[אובייקט (מדעי המחשב)|אובייקט]], פרוייקטפרויקט, ו[[חבילה (תוכנה)|חבילה]] (package או module). יש חשיבות גדולה להגדרת נקודת התפר בין יחידת תוכנה לשאר החלקים. נקודה זאת נקראת ה[[ממשק (תכנות)|ממשק]]. מימוש של מודולריות אפשר לראות בשימוש בקבציבקובצי [[DLL]] שבהם הוכמסו פעולות שונות תוך חשיפת ממשק של פונקציות כלפי חוץ. הדבר אפשר לתוכנה מהודרת להשתמש בפונקציונליות שקיימת בקבצים חיצוניים, ואף איפשר החלפה של קבצים (לצורך שדרוג היכולות או אף שינויים) ללא צורך בהידור מחדש של המערכת הראשית.
 
המעבר למתודולוגיה של [[תכנות מונחה-עצמים]] שיפר רבות את המודולריות של התוכנות, אף שלפני כן היה קיים מושג של יחידה בשפות פרוצדורליות. השימוש בטכנולוגיית [[OLE]] ו-[[COM]] של [[מיקרוסופט]] בסביבת חלונות אף הוא הוסיף יכולת נוספת למודולריות של התוכנות, כך שניתן להוסיף יחידות תכנותיות שהודרו מראש, ושאף נכתבו בשפות אחרות לסביבה קיימת. כך למשל, התפיסה הרווחת בשפת [[VB]] הייתה שימוש בפקדי OCX שנכתבו בשפות אחרות, בסביבת הפיתוח שלה. למעשה נוהג די רווח של מיקרוסופט הוא לייצר מנוע שקיים כרכיב [[ActiveX]] עצמאי כמו בנגן המדיה או בדפדפן ה-IE, ולפתח סביבו תוכנה שלמה. בשיטה זו מפתחים בסביבת חלונות יכולים לעשות אף הם שימוש באותו מנוע ללא הגבלה בשפה שהם כותבים.