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

תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות)
מ בוט החלפות: לעיתים
תקלדה
שורה 5:
אפיון ברור של תפקיד כל חלק ואופן השימוש בו מאפשרים שימוש בחלקים אלה גם בתוכנה אחרת, בצירוף עם חלקים אחרים. שפות תכנות רבות תומכות בצורות שונות של חלוקת התוכנה ליחידות בעלות תפקיד מוגדר, לדוגמה, [[שגרה (תכנות)|פרוצדורה]] (או [[פונקציה (תכנות)|פונקציה]]), Unit, [[אובייקט (מדעי המחשב)|אובייקט]], פרויקט, ו[[חבילה (תוכנה)|חבילה]] (package או module). יש חשיבות גדולה להגדרת נקודת התפר בין יחידת תוכנה לשאר החלקים. נקודה זאת נקראת ה[[ממשק (תכנות)|ממשק]]. מימוש של מודולריות אפשר לראות בשימוש בקובצי [[DLL]] שבהם הוכמסו פעולות שונות תוך חשיפת ממשק של פונקציות כלפי חוץ. הדבר אפשר לתוכנה מהודרת להשתמש בפונקציונליות שקיימת בקבצים חיצוניים, ואף איפשר החלפה של קבצים (לצורך שדרוג היכולות או אף שינויים) ללא צורך בהידור מחדש של המערכת הראשית.
 
המעבר למתודולוגיה של [[תכנות מונחה-עצמים]] שיפר רבות את המודולריות של התוכנות, אף שלפני כן היה קיים מושג של יחידה בשפות פרוצדורליות. השימוש בטכנולוגיית [[OLE]] ו-[[COM]] של [[מיקרוסופט]] בסביבת חלונות אף הוא הוסיף יכולת נוספת למודולריות של התוכנות, כך שניתן להוסיף יחידות תכנותיות שהודרושהוגדרו מראש, ושאף נכתבו בשפות אחרות לסביבה קיימת. כך למשל, התפיסה הרווחת בשפת [[VB]] הייתה שימוש בפקדי OCX שנכתבו בשפות אחרות, בסביבת הפיתוח שלה. למעשה נוהג די רווח של מיקרוסופט הוא לייצר מנוע שקיים כרכיב [[ActiveX]] עצמאי כמו בנגן המדיה או בדפדפן ה-IE, ולפתח סביבו תוכנה שלמה. בשיטה זו מפתחים בסביבת חלונות יכולים לעשות אף הם שימוש באותו מנוע ללא הגבלה בשפה שהם כותבים.
 
מלבד האפשרות ליצור תוכנה על ידי צירוף של יחידות תוכנה מוגדרות למערכת אחת, מודולריות בתוכנה מאפשרת גם גמישות בפיתוח התוכנה. כאשר קוד בנוי בצורה מודולרית, ניתן להחליף חלקים בו, בלי צורך לשנות את שאר חלקי התוכנה. לעיתים משתמשים באפשרות זאת בזמן הפיתוח, כאשר משלבים חלקי תוכנה מנוונים או מדומים (mock). שילוב חלק מדומה מאפשר לפתח את שאר חלקי תוכנה ולדחות את פיתוח החלק המדומה לשלב מאוחר יותר. בנוסף, כאשר הפיתוח הוא מודולרי, ניתן לבצע חלוקת משימה גדולה להרבה צוותים, כאשר כל צוות פיתוח יכול להתרכז במודול שלו, מבלי להיות תלוי בצוות אחר, ומבלי להשפיע על עבודה של צוות אחר. המודולריות מקילה על בדיקת נכונות של התוכנה, על תחזוקה שוטפת ועל מציאת תקלות.