ממשק (תכנות)
ויקיפדיה האנציקלופדיה encyclopedia
בתכנות, המושג ממשק (באנגלית: Software Interface) משמש להפשטה של מחלקות התוכנה, ומגדיר את הפונקציונליות שעל כל מחלקה לממש כדי להיות שייכת אליו.
אם אובייקט עושה שימוש בממשק כלשהו, אז הדבר מבטיח שלאובייקט תהיה התנהגות מסוימת. מימוש של ממשק הוא התחייבות של אובייקט למלא אחר מפרט של דרישות להתנהגות מסוימת. לפיכך, ניתן לראות בממשק כחוזה. כאשר מחלקה מממשת את כל הפונקציות המוגדרות בממשק ניתן ליצור מופע שלה, אחרת היא נחשבת מימוש אבסטרקטי - כזה שדורש הרחבה על ידי מחלקה אחרת המשלימה את המימוש.
שימוש בממשקים הוא נוהג של כתיבה נכונה בהנדסת תוכנה, כי בשיטה זו מתבצעת הפרדה בין המימוש בפועל לבין הדרישות שמאופיינות בממשק.
מגוון תבניות עיצוב (design patterns) עושות שימוש רב בממשקי תוכנה. ממשק התוכנה חשוב גם בפונקציות הנקראות בצורה מרוחקת (ראו RPC).
מערכות תשתית רבות כמו Java EE, Spring Framework ו-Inversion of control מסייעות באתחול אובייקטים על פי ממשק שמוגדר מראש.