Διεπαφή (πληροφορική)

Στην πληροφορική, διεπαφή (αγγλ. interface) γενικά αποκαλείται το αντικείμενο εκείνο ή τμήμα αυτού (π.χ. κάποιο τμήμα λογισμικού, μια συσκευή κλπ.) που παρεμβάλλεται μεταξύ ενός αντικειμένου και του περιβάλλοντός του και διαμέσω του οποίου πραγματοποιείται κάθε επικοινωνία του αντικειμένου με το περιβάλλον του. Ένα αντικείμενο ή υποσύστημα (π.χ. κάθε κομμάτι ενός ευρύτερου συστήματος) είναι μια διακριτή οντότητα που μπορεί να επιτελέσει ένα σύνολο λειτουργιών.

Ένα υποσύνολο των λειτουργιών του αντικειμένου μπορεί να εκτελείται κατόπιν αιτήματος άλλων αντικειμένων ή υποσυστήματων. Η επικοινωνία μεταξύ δυο αντικειμένων πραγματοποιείται με το πρώτο να αιτείται από το δεύτερο την εκτέλεση μίας λειτουργίας (από το προαναφερθέν υποσύνολο των διαθέσιμων λειτουργιών του δευτέρου) μέσω της διεπαφής του δευτέρου. Αυτό που καθορίζει την διεπαφή είναι η προδιαγραφή αυτού του υποσυνόλου λειτουργιών και ο ορισμός ενός ενιαίου τρόπου για κάθε λειτουργία που ανήκει στο υποσύνολο με τον οποίο μπορεί να αιτηθεί η εκτέλεσή της από άλλα αντικείμενα.

Διεπαφές μεταξύ πραγματικών αντικειμένων καλούνται φυσικές διεπαφές ενώ αυτές μεταξύ διαφορετικών τμημάτων λογισμικού (προγραμματιστικών αντικειμένων) καλούνται διεπαφές λογισμικού.

Η διεπαφή μεταξύ ενός υπολογιστή και ενός χρήστη καλείται διεπαφή χρήστη (αγγλ. User Interface (UI)). Υπό αυτόν τον στενό ορισμό, διεπαφή χρήστη μπορεί να είναι μόνο κάποια συσκευή όπως π.χ. το ποντίκι ή η γραφίδα, δηλαδή ένα πραγματικό αντικείμενο αφού οι υπολογιστές και οι άνθρωποι δεν διαθέτουν την ικανότητα να «επικοινωνούν» μεταξύ τους δίχως κάποιο υλικό μέσο. Συνήθως όμως με τον όρο διεπαφή χρήστη εννοούμε το πρόγραμμα εκείνο που «επικοινωνεί» (δηλαδή, ουσιαστικά «χρησιμοποιεί») είτε με μία φυσική συσκευή εισόδου είτε μία φυσική συσκευή εξόδου είτε (συνηθέστερα) και με τις δύο και παρεμβάλλεται έτσι μεταξύ των συσκευών αυτών και κάποιου τμήματος λογισμικού ώστε να καταστήσει δυνατή την «επικοινωνία» μεταξύ του χρήστη και του λογισμικού αυτού.

Το ευρύτερο εννοιολογικό πλαίσιο στο οποίο εντάσσεται η έννοια της διεπαφής αφορά τον αντικειμενοστρεφή προγραμματισμό, τη θεωρία των συστημάτων και της αντικειμενοστρεφούς σχεδίασης πληροφοριακών συστημάτων. Μία γλώσσα που χρησιμοποιείται για την αρχιτεκτονική σχεδίαση τέτοιων συστημάτων και την αποτύπωση εννοιών, οντοτήτων και των μεταξύ τους σχέσεων είναι η Ενοποιημένη Γλώσσα Σχεδίασης Προτύπων (αγγλ. Unified Modelling Language (UML) ).

Εξωτερικοί σύνδεσμοι

Αντικειμενοστρεφής προγραμματισμός
 
Δομές προγραμματισμού