Διασύνδεση - τι είναι τόσο απλά λόγια

Διασύνδεση - τι χρειάζεται, τύποι διεπαφών

4 Ιανουαρίου 2021.

Γεια σας, αγαπητέ αναγνώστες blog ktonanovenkogo.ru. Στην εποχή του μαζικού υπολογιστή, είναι σημαντικό να συμβαδίζετε με τις τελευταίες τάσεις και να αναπληρώσετε συνεχώς το χάσμα στη γνώση.

Είναι σημαντικό η διεπαφή να αντιστοιχεί στους στόχους και το πλαίσιο. Εάν αυτή είναι η αλληλεπίδραση ενός ειδικού με έναν υπολογιστή, τότε το κύριο πράγμα είναι η δυνατότητα παροχής πληροφοριών και εκπληρώνοντας τα καθήκοντα. Για έναν συνηθισμένο χρήστη, δεν έχει μόνο τεχνική, αλλά και αισθητική αξία: η εργασία με αυτό πρέπει να είναι άνετο και κατανοητό.

Δεν θέλετε να συναντήσετε την ανάγκη να συντρίψετε; Σήμερα θεωρούμε έναν άλλο όρο που σχετίζεται με τον υπολογιστή.

Θα προσπαθήσω να εξηγήσω ένα τέτοιο πράγμα ως μια διεπαφή: τι είναι και γιατί είναι απαραίτητο. Έτσι, ας ξεκινήσουμε.

Η διεπαφή είναι ...

Όπως όλες οι νέες φράσεις, η λέξη "interface" ήρθε σε εμάς από την αγγλική γλώσσα. Μεταφρασμένη διεπαφή υποδεικνύει " Τόπος επαφής "

Η διεπαφή είναι ένα σύνολο εργαλείων που επιτρέπουν στον χρήστη να αλληλεπιδράσει με το λειτουργικό σύστημα του υπολογιστή, μια κινητή συσκευή ή άλλους τύπους εξοπλισμού.

Η διεπαφή είναι ...

Ως τέτοια εργαλεία Οι αλληλεπιδράσεις μπορούν να δράσουν:

  1. Πεδία κειμένου;
  2. κουμπιά και τσιμπούρια.
  3. αναπτυσσόμενες λίστες ·
  4. pop-up συμβουλές?
  5. Διακόπτες;
  6. Στοιχεία του μενού του προγράμματος ή του ιστότοπου.
  7. και πολλα ΑΚΟΜΑ.

Για να είστε καλύτεροι σαφείς τι είδους φρούτα είναι αυτή η διεπαφή, εξετάστε ένα οπτικό παράδειγμα. Ας υποθέσουμε ότι αποφασίζετε να πάτε σε διακοπές σε απομακρυσμένες άκρες και να κλείσετε ένα ξενοδοχείο εκ των προτέρων μέσω του Διαδικτύου.

Ελάτε στο site και εκεί περιμένετε πολλές διεπαφές: αναζήτηση, αποτελέσματα εμφάνισης, εισάγετε προσωπικά δεδομένα, πληρωμή. Κατά τη διάρκεια κάθε σταδίου αλληλεπίδρασης με τον ιστότοπο κρατήσεων ξενοδοχείων, ο χρήστης λειτουργεί με δεδομένα και εκτελεί ορισμένες ενέργειες.

Γιατί χρειάζομαι μια διεπαφή; Όλα είναι απλά, περισσότερο από ποτέ: όσο πιο βολικό να χρησιμοποιήσετε το πρόγραμμα, το site και το άλλο προϊόν, τους πιο ευτυχισμένους χρήστες.

Η φιλική διεπαφή σας επιτρέπει επίσης να αυξήσετε τις πωλήσεις σε εμπορικούς ιστότοπους, καθώς οι επισκέπτες δεν κλείνουν την καρτέλα κατά τα πρώτα δευτερόλεπτα της χρήσης του ιστότοπου.

Οι ιστότοποι με καλό σχεδιασμό είναι πιο δημοφιλείς μεταξύ των χρηστών, πιο επισκεπτών και, ως εκ τούτου, φέρνουν το καλύτερο εισόδημα στους ιδιοκτήτες τους.

Τύποι διεπαφών

Η διεπαφή είναι συνηθισμένη στην υποδιαίρεση στους ακόλουθους τύπους:

  1. Γραμμή εντολών . Αυτός είναι ο παλαιότερος και πιο χρονοβόρος τρόπος να αλληλεπιδράσουν μεταξύ του χρήστη και του προσωπικού υπολογιστή. Ταυτόχρονα, η γραμμή εντολών παραμένει ο πιο αξιόπιστος τύπος διεπαφής.
    Για τους χρήστες, η διασύνδεση αποτελεί τη βάση της εργασίας με έναν υπολογιστή ή ένα τηλέφωνο. Από το πόσο απλό ή πολύπλοκο αυτό το σύστημα, η ευκολία του ελέγχου της συσκευής θα εξαρτηθεί από. Οι προγραμματιστές μπορούν να αλλάξουν δομές συστήματος για πολύπλοκες εργασίες. Οι άπειροι χρήστες, είναι καλύτερο να αγοράσετε συσκευές με μια σαφή διεπαφή για να διευκολυνθεί η δουλειά τους.

    Η επικοινωνία με το μηχάνημα εμφανίζεται στη γλώσσα του. Η γραμμή εντολών χρησιμοποιείται σε λειτουργικά συστήματα που προορίζονται για επαγγελματίες χρήστες: για παράδειγμα, στο BIOS.

  2. Γραφική διασύνδεση . Αυτό είναι ακριβώς αυτό που σημαίνει σήμερα κάτω από τη λέξη "interface". Εφαρμόζεται σε όλα τα λειτουργικά συστήματα, προγράμματα, ιστοσελίδες.
    Έξυπνος

    Με μια γραφική διεπαφή, είναι απολύτως όλοι οι χρήστες του υπολογιστή. Για πιο βολική αλληλεπίδραση, συνιστάται η χρήση ποντικιού υπολογιστή.

  3. Εμπλοκή διεπαφή . Η ταχεία ανάπτυξη των τεχνολογιών έχει γίνει ένας από τους λόγους για την εμφάνιση μιας διεπαφής χειρονομίας. Αυτό περιλαμβάνει αισθητήρες οθόνες, joysticks, γραφίδα και άλλα στοιχεία.
  4. Φωνητική διεπαφή . Μιλώντας τη φράση "OK, Google" και στη συνέχεια προφέρετε το ερώτημα αναζήτησης, αλληλεπιδρούν με τη διεπαφή φωνής του λειτουργικού συστήματος smartphone ή tablet.
    Διασύνδεση γραμμής εντολών

    Αυτός ο τύπος εμφανίστηκε επίσης πρόσφατα χάρη στην ταχεία ανάπτυξη των τεχνολογιών.

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

Τι πρέπει να είναι η διασύνδεση

Το κύριο καθήκον οποιασδήποτε διεπαφής - Να χρησιμοποιήσετε εύκολα Ειδικό πρόγραμμα, θέση ή παρόμοιο προϊόν.

Για παράδειγμα, όταν η ανάπτυξη μιας δικτυακής πύλης συνιστάται να γίνει Εστίαση στα ακόλουθα στοιχεία :

  1. Τον βέλτιστο αριθμό των εμφανιζόμενων στοιχείων ·
  2. Προσαρμοστικότητα στην επιφάνεια εργασίας και τις κινητές συσκευές.
  3. την παρουσία κουμπιών δημοφιλών κοινωνικών δικτύων ·
  4. βέλτιστα εικονίδια μεγέθους και κουμπιά.
  5. βολική μορφή εγγραφής ·
  6. Διαισθητική θέση των στοιχείων μενού.
  7. την παρουσία χρώματος ή πληροφοριών.
  8. σύστημα αναζήτησης στον ιστότοπο.
  9. Εάν είναι απαραίτητο, η διαθεσιμότητα των δεδομένων επικοινωνίας.

Ένα φωτεινό παράδειγμα μιας καλά σκεπαστικής διεπαφής είναι ktonanovenkogo.ru. Στην περιοχή, μια καλή λύση χρωμάτων, ένα διαισθητικό μενού, η παρουσία εσωτερικής αναζήτησης, η εμφάνιση αντικειμένων με την ημερομηνία δημοσίευσης, η οποία καθιστά τη χρήση του πόρου γρήγορα και ευχάριστη.

Αυτά είναι όλοι, αγαπητοί φίλοι. Τώρα γνωρίζετε ότι η διεπαφή είναι, απλά μιλώντας, το εξωτερικό κέλυφος των προγραμμάτων ή ιστότοπων, γεγονός που διευκολύνει τη χρήση τους.

Ελπίζω ότι μετά την ανάγνωση του άρθρου, δεν θα έχετε πλέον ερωτήσεις. Σε κάθε περίπτωση, επιτρέψτε σας να σας προσκαλέσετε σε σχόλια για να υποχωρήσετε σε αυτό το θέμα με άλλους αναγνώστες blog ktonanovenkogo.ru.

Και να εδραιώσει τη γνώση, προτείνω να παρακολουθήσω ένα βίντεο για τη νέα διασύνδεση για το Android από τη Samsung:

Καλή σου τύχη! Βλέποντας γρήγορα συναντήσεις στις σελίδες του Ktonanovenkogo.ru

Οι περισσότερες σύγχρονες διεπαφές έχουν σχεδιαστεί για έμπειρους χρήστες. Οι γερανοί δεν έγιναν επίσης αμέσως για όλους τους οικεία. Προηγουμένως, οι πλευρές του διακόπτη ήταν σίγουρα φέρουν κόκκινο και μπλε - για να είναι σαφείς όπου είναι κρύο και όπου ζεστό νερό. Τώρα είμαστε συνηθισμένοι, και όλο και περισσότεροι γερανοί απελευθερώνονται χωρίς επισήμανση. Πιθανώς, θυμούνται τελικά ποια πλευρά που ρέει.

Με τις διεπαφές ιστού ήταν περίπου το ίδιο. Στην αρχή του μηδέν, υπήρχε ένας σκιωτής - τα γραφικά μίλησαν τα αντικείμενα του πραγματικού κόσμου. Εάν ο ιστότοπος ήταν το κουμπί, έμοιαζε με ένα πραγματικό ογκομετρικό κουμπί. Ήταν κατανοητό για τους περισσότερους ανθρώπους που αγόρασαν τους πρώτους υπολογιστές τους.

Αλλά η στιγμή ήρθε όταν οι νέοι χρήστες έχουν γίνει λιγότερο. Όποιος ήθελε να αρχίσει να χρησιμοποιεί έναν υπολογιστή και το Διαδίκτυο έχει ήδη κατακτηθεί στην τεχνολογία. Και η ανάγκη για ρεαλιστικές διεπαφές σταδιακά εξαφανίστηκαν.

Τώρα, αντί του λεπτομερούς εικονιδίου "μενού", το λεγόμενο μπιφτέκι χρησιμοποιείται συνήθως με την υπογραφή - τρεις οριζόντιες λωρίδες. Και γνωρίζουμε απόλυτα καλά τι σημαίνουν. Γνωρίζουμε επίσης ότι οι τοποθεσίες συνήθως διαβάζονται από πάνω προς τα κάτω. Και δεν χρειάζονται βέλη για να εξηγήσετε. Οι σύγχρονες διεπαφές έχουν σχεδιαστεί για έμπειρους χρήστες και πιο συνοπτικές.

Προγράμματα

Η διεπαφή μπορεί να θεωρηθεί ένα είδος σύμβασης μεταξύ του συστήματος και ενός εξωτερικού περιβάλλοντος. Στο πλαίσιο του προγράμματος υπολογιστών, το σύστημα είναι η λειτουργία ή η ενότητα και το "περιβάλλον" είναι το υπόλοιπο έργο. Η διεπαφή περιγράφει επισήμως ποια δεδομένα μπορούν να μεταδοθούν μεταξύ του συστήματος και του περιβάλλοντος. Και η "εφαρμογή" μπορεί να χαρακτηριστεί ως "Σύστημα διασύνδεσης μείον". Σε γλώσσες όπως οι διεπαφές Haskell μπορεί να είναι εξαιρετικά συγκεκριμένες. Και σε γλώσσες όπως η Πύθωνα, αντίθετα, είναι πολύ συνηθισμένοι. Ο επιλεγμένος τύπος διασύνδεσης μπορεί να επηρεάσει το μέγεθος του δημιουργημένου τεχνικού χρέους και την απόδοση του προγραμματιστή. Πώς να υπολογίσετε ότι είναι γραμμένο παρακάτω. Θα προταθεί επίσης μια μέθοδος για την αξιολόγηση και τη σύγκριση διαφορετικών διεπαφών. Με βάση αυτές τις συγκρίσεις, μπορείτε να παρακολουθήσετε τον εαυτό σας για τη χρήση της γλώσσας ή του εργαλείου λογισμικού.

Η πιο σημαντική έννοια στην ανάπτυξη λογισμικού - έννοια

Διεπαφή

. Αυτό το άρθρο δεν αφορά τις διασυνδέσεις Java, αλλά σχετικά με τις διεπαφές στο σχεδιασμό λογισμικού. Και σε μικρότερο βαθμό - σε διεπαφές στον περιβάλλοντα κόσμο. Φυσικά, πολλές άλλες σημαντικές έννοιες χρησιμοποιούνται στην ανάπτυξη λογισμικού, αλλά πιστεύω ότι οι περισσότεροι από αυτούς είναι κατά κάποιο τρόπο ανάλογα με τη σημασία της διασύνδεσης.

Ποια είναι η διασύνδεση;

Οι περισσότεροι από εμάς είναι εξοικειωμένοι με δύο σύντομες συνθέσεις:

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

Διασύνδεση = Σύστημα ∩ Περιβάλλον

Ο ορισμός με το ζεύγος είναι κατάλληλο, εάν το σύστημα είναι ένα φυσικό αντικείμενο. Και οι δύο ορισμοί είναι πολύ αφηρημένοι, οπότε ας τα εξετάσουμε στο παράδειγμα εκτύπωσης στο πληκτρολόγιο:

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

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

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

:

add_numbers. 

μη υπογεγραμμένο int, μη υπογεγραμμένο int) · ad load_function (κενό) {add_numbers (3.4);} μη υπογεγραμμένο int add_numbers (μη υπογεγραμμένο int a, μη υπογεγραμμένο int b) {return a + b;} int main (κενό) {add_numbers (9.99). Επιστροφή 0;}

Εφαρμόστε την ίδια τεχνική διαφοροποίησης χρωμάτων

Παντελόνι

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Για να περιγράψετε το περιβάλλον, το σύστημα

και διεπαφή:

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Το υπό εξέταση σύστημα αποτελείται από μια λειτουργία

. Αν λέτε ότι μπορείτε να θεωρήσετε ως ξεχωριστή κύρια μέθοδο συστήματος -

Other_function.

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

- Στη συνέχεια, θα έχετε δίκιο. Αλλά για απλότητα, θεωρούμε μια λειτουργία

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

.

Μεμονωμένο σύστημα. Είναι επίσης σκόπιμο να εξετάσετε μέρος της διεπαφής μετατροπής στο

Όπως μπορείτε να δείτε, η τέταρτη έννοια προστίθεται εδώ: "Εφαρμογή". Είναι πολύ δύσκολο να συζητήσουμε το θέμα των διεπαφών χωρίς να λαμβάνονται υπόψη συγκεκριμένες εφαρμογές. Ας ορίσουμε αυτόν τον όρο: Η εφαρμογή είναι ένα σύστημα διεπαφής μείον. Εφαρμογή = Σύστημα ∖ Διεπαφή

Εφαρμογή = Σύστημα ∖ (Σύστημα ∩ Περιβάλλον)

Πρέπει να παραδεχτώ ότι ποτέ δεν είχα έναν τέτοιο ορισμό της εφαρμογής πριν. Αλλά αυτή είναι μια αναπόφευκτη επέκταση ενός συνόλου ορισμών διεπαφών που έχουν πολλά πλεονεκτήματα. Εάν είστε φτωχός φοιτητής και προετοιμαστείτε για τις εξετάσεις, τότε πιθανότατα ο δάσκαλός σας δεν έχει ακούσει ποτέ για αυτόν τον ορισμό. Δεν θα εκπλαγώ, αν θα έρθει σε αντίθεση με οποιαδήποτε ταξινόμηση του αντικειμενοστρεφούς προγραμματισμού. Αλλά ακόμη και σε αυτή την περίπτωση, δεν πρόκειται να το αλλάξω. Αφήστε τους οπαδούς του OOP να ξαναγράψουν τις περιλήψεις τους σύμφωνα με τον ορισμό μου.

Με τη σειρά του, μας οδηγεί στο επόμενο λογικό συμπέρασμα: Όταν μιλάμε για τις διασυνδέσεις του φυσικού συστήματος, συνήθως φαντάζουμε την "εφαρμογή" αυτού του συστήματος με τη μορφή ενός ενιαίου φυσικού αντικειμένου. Εξάλλου, θα ήταν περίεργο να εξετάσουμε την "πραγματική" εφαρμογή χωρίς να λαμβάνονται υπόψη τα κουμπιά, τις οθόνες ή άλλα εξαρτήματα. Και μας ωθεί να εξετάσουμε τη διεπαφή περισσότερο ως "συμφωνία" και όχι ένας συνδυασμός φυσικών αντικειμένων. Δηλαδή, με τη μορφή ενός συνόλου υποσχέσεων, εγγυήσεις ή κάτι σαν ...

.

Σύμβαση μεταξύ του συστήματος και του περιβάλλοντος

Διασύνδεση ως σύμβαση

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Εάν θεωρείτε τη διεπαφή λειτουργίας

  • Με τη μορφή σύμβασης, τότε οι εγγυήσεις θα είναι τέτοιες: Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής Λειτουργία
  • Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής υπάρχει. Έχει μόνο δύο παραμέτρους, καθένα από τα οποία δεν έχει υπογραφεί .
  • Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής int. Έχει μόνο δύο παραμέτρους, καθένα από τα οποία δεν έχει υπογραφεί .

Επιστρέφει μόνο ένα μη υπογεγραμμένο

  • Η διεπαφή αυτής της λειτουργίας δεν μας λέει τίποτα: Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής ;
  • Σχετικά με τη διακοπή της εκτέλεσης Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής ;
  • για την ασυμπτωτική πολυπλοκότητα του χρόνου κατακίνησης Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής ;
  • Σχετικά με τον αριθμό της ελεύθερης μνήμης που απαιτείται για να ξεκινήσετε Έχει μόνο δύο παραμέτρους, καθένα από τα οποία δεν έχει υπογραφεί ;
  • Σχετικά με την ειδική εφαρμογή του μη υπογραφεί

Στις ανεπιθύμητες ενέργειες (κατανομή μνήμης, τροποποίηση των παγκόσμιων μεταβλητών).

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Η διεπαφή που περιγράφεται παραπάνω

γνωστό υπό τον τύπο λειτουργίας

Πρωτότυπο.

. Σε προηγούμενες εκδόσεις της K & R, χρησιμοποιήθηκε μια ασθενέστερη μορφή περιγραφής των διεπαφών:

μη υπογραφεί int add_numbers ();

Ο ορισμός της διεπαφής ως σύμβαση είναι πολύ βολικός για τον προγραμματισμό. Μετά από όλα, τα περισσότερα καθήκοντα προγραμματισμού συνίστανται στον προσδιορισμό και το ζητήσιμο σύνολα αξιοποιήσεων. Οι πρωτογενείς και οι τελικές συνθήκες παρέχουν κάποιες ιδιότητες ή συμπεριφορά. Πριν από δύο μέρη συνδέουν μια επιχειρηματική σχέση μεταξύ τους, προετοιμάζουν τη σύμβαση. Διατύπωσε το τελικό αποτέλεσμα, το ποσό και το χρονοδιάγραμμα πληρωμής. Ορίζει επίσης τις προϋποθέσεις πρόωρης τερματισμού, επιστροφής και κόστους. Εάν παραβιαστεί η σύμβαση, η κατάσταση μετατρέπει το δικαστήριο ή τη διαιτησία. Αλλά αν ξεχάσατε κάτι για να διευκρινίσετε στη σύμβαση, τότε μπορεί να προκύψουν εκπλήξεις.

Με προγράμματα υπολογιστών όλα τα ίδια. Οι ενότητες και οι λειτουργίες λένε ότι χρειάζονται και (μερικές φορές) τι θα δοθούν σε αντάλλαγμα. Η παραβίαση αυτής της σύμβασης θα οδηγήσει σε σφάλμα συλλογής, σε σφάλμα εκτέλεσης, στην αποτυχία της εφαρμογής, του συστήματος, των εργαλείων ελέγχου ποιότητας και την ηγεσία του εγχειριδίου. Θα ήθελα καν να πω ότι ο ορισμός της διασύνδεσης ως σύμβασης δεν είναι μεταφορικός. Εδώ είναι οι ίδιες αρχές όπως και στην εμπορική σύμβαση, αν και δεν είναι τόσο λεπτομερής.

Διπλώματα ευρεσιτεχνίας, πνευματικά δικαιώματα και διεπαφές

Δεν θα σας δώσω συμβουλές στον τομέα του νόμου. Ίσως κάτι από μένα είπε ότι θα έρθει σε αντίθεση με τους νόμους. Όλα τα παρακάτω είναι η ιδιωτική γνώμη του συγγραφέα.

Έτσι, είμαι κεκλιμένος

Κυριολεκτικά

Εξετάστε τη διεπαφή ως "εμπορική σύμβαση" μεταξύ δύο οντοτήτων. Υπογραμμίζω - δεν το θεωρώ μια μεταφορά. Αντιμετωπίζω ιδιαίτερα αυτή την ερμηνεία από ειδικούς στη θεωρία των υπολογιστικών μηχανών και των διαδηλωτών πνευματικών δικαιωμάτων.

Σε περίπτωση που το δίπλωμα ευρεσιτεχνίας διασύνδεσης; Δεδομένου του ορισμού του ως σύμβασης μεταξύ του συστήματος και του περιβάλλοντος, πιστεύω ότι η χρήση των διπλωμάτων ευρεσιτεχνίας θα ήταν λάθος. Και, προφανώς, η υπάρχουσα νομολογία υποστηρίζει τη θέση μου. Αλλά να έχετε κατά νου ότι η λέξη "interface" χρησιμοποιείται πολύ ευρέως και συχνά καθόλου με την έννοια, όπως περιγράφηκε παραπάνω.

Πρέπει να προστατεύσω τη διεπαφή με πνευματικά δικαιώματα; Και πάλι, δεδομένης της "συμβατικής" φύσης, πιστεύω ότι ο "πηγαίος κώδικας" της διασύνδεσης πρέπει να αποτελέσει αντικείμενο πνευματικής ιδιοκτησίας. Ταυτόχρονα, τα πνευματικά δικαιώματα δεν πρέπει να εφαρμόζονται στις πτυχές των διεπαφών που τους καθιστούν ειδικές. Αρκεί να προστατεύει τον πηγαίο κώδικα ή μια χειρόγραφη εικόνα, αλλά όχι εγγύηση ή περιορισμούς. Εάν οι περιορισμοί εγγύησης ή διασύνδεσης είναι αδιαχώριστες από οποιοδήποτε από τα μέρη του κώδικα, τα μέρη αυτά πρέπει να στερηθούν του δικαιώματος προστασίας.

Προτείνω μια απλή δοκιμασία που σας επιτρέπει να εκτιμήσετε αν είναι απαραίτητο να προστατεύεστε με τα πνευματικά δικαιώματα.

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

Πιστεύω ότι με τη βοήθεια αυτής της δοκιμής, συνιστάται να ελέγχετε ακόμη και στη δυνατότητα κατοχύρωσης με δίπλωμα ευρεσιτεχνίας. Σημείωση: Ο σκοπός της δοκιμής είναι να προσδιορίσετε εξαιρετικά

Αιώρηση

προστασία πνευματικών δικαιωμάτων ή διπλώματος ευρεσιτεχνίας. Δεν θα βοηθήσει στην αντιμετώπιση αυτού

ακολουθηστε

Ενεργοποιήστε την προστασία. Επιπλέον, η δοκιμή αυτή είναι μόνο η γνώμη μου και όχι μια κανονιστική πράξη ή νόμο.

Θέλω επίσης να σημειώσω ότι οποιοδήποτε κριτήριο που θεωρείται ως μέρος της διεπαφής στην ίδια γλώσσα μπορεί να μην είναι αυτή σε άλλη γλώσσα. Για παράδειγμα, στην Java, η διαδικασία δήλωσης λειτουργιών δεν επηρεάζει την εκτέλεση του προγράμματος. Και αν πείτε κατά λάθος ότι η σειρά λειτουργιών του φακέλου δεν έχει σημασία, θα είναι ένα σφάλμα σε σχέση με το πρόγραμμα στο Python: 

DEF FOO (): Εκτύπωση ("ASDF") DEF FOO (ABC): Εκτύπωση (ABC) Foo ("LOL")

Όλες αυτές οι συνομιλίες σχετικά με τους νόμους μου υπενθύμισαν

Oracle εναντίον της Google

. Σύμφωνα με τον δεδομένο σύνδεσμο, μπορείτε να βρείτε ενδιαφέροντα στοιχεία για τους προγραμματιστές, οπότε θα το βασίσω στην ανάλυσή μου. Λαμβάνοντας υπόψη όλες τις πτυχές, δεν βλέπω τους λόγους να διαφωνείτε με την απόφαση της υπόθεσης υπέρ της Oracle. Δεν μπορώ να πω ότι τα υποστηρίζουν άνευ όρων, δεδομένου ότι δεν είμαστε διαθέσιμοι όχι τόσες περιοχές της διαδικασίας.

Νομίζω ότι πολλοί ανησυχούν ότι θα δημιουργηθεί ένα προηγούμενο, επιτρέποντας στα στοιχεία της διασύνδεσης να προστατεύουν το δίπλωμα ευρεσιτεχνίας ή τα πνευματικά δικαιώματα. Ακριβώς η περίπτωση στην οποία δεν θα περάσει η δοκιμή μου. Το Επαρχιακό Δικαστήριο αποφάσισε: "Η δομή, η ακολουθία και η αρχιτεκτονική του API μπορεί να προστατευθεί από τα πνευματικά δικαιώματα". Δεν νομίζω ότι αυτό είναι ένα πρόβλημα, επειδή η "δομή, ακολουθία και η αρχιτεκτονική" στον ορισμό του θα περάσει πλήρως τη δοκιμή μου. Θα δώσω ένα ζευγάρι αποσπάσματα από το άρθρο σχετικά με τον παραπάνω σύνδεσμο:

"Το περιφερειακό δικαστήριο κατέληξε στο συμπέρασμα ότι" υπάρχει μόνο ένας τρόπος γραφής "διαφημίσεις για αλληλεπίδραση με την Java. Εάν ναι, η χρήση των ίδιων διαφημίσεων δεν υπόκειται σε πνευματικά δικαιώματα. Η Google δεν αμφισβητεί το γεγονός ότι θα μπορούσαν να γράψουν τα δικά τους API για να έχουν πρόσβαση στην Java, με εξαίρεση τα τρία. " Τέλος, "στο Google αναγνώρισε ότι κυριολεκτικά αντιγράφηκαν διαφημίσεις."

Νομίζω ότι το δικαστήριο αποδέχθηκε τη σωστή απόφαση, το οποίο συνάπτει ότι οι μοναδικές ιδιότητες της διεπαφής δεν πρέπει να προστατεύονται. Επιπλέον, η Google αναγνώρισε την "κυριολεκτική" αντιγραφή. Εάν αυτό σημαίνει συρρίκνωση, συμπεριλαμβανομένων όλων των κενών και ορθογραφικών σφαλμάτων στα σχόλια, τότε το θεωρώ παραβίαση των δικαιωμάτων. Ακόμη και αν η διεπαφή δεν μπορεί να προστατευθεί, δεν πρέπει να παρεμβαίνει στην προστασία της μεμονωμένης δημιουργικής έκφρασης.

Γνωρίζω για αυτή τη διαφορά μόνο από τις ανοικτές πηγές δικτύου, αλλά προφανώς, ο αρχικός κώδικας Java έχει αντιγράψει πλήρως στο Google, συμπεριλαμβανομένων των διεπαφών. Φαίνεται ότι οι ίδιοι πίστευαν ότι ήταν απαραίτητο να χορηγηθεί άδεια χρήσης της Java, καθώς αποτέλεσε αντικείμενο διαπραγματεύσεων για συμφωνίες αδειοδότησης με τον Ήλιο πριν από το 2010. Αλλά αυτές οι συμφωνίες απέτυχαν μετά την αγορά του ήλιου από την Oracle. Παρ 'όλα αυτά, η Google συνέχισε να χρησιμοποιεί τα "κυριολεκτικά" αντίγραφα του κώδικα, η οποία σαφώς δεν πήγαινε στο όφελος της στη δίκη. Υποψιάζομαι ότι οι δικηγόροι τους γνώριζαν για την αδυναμία της θέσης τους, επομένως επέλεξαν μια στρατηγική προστασίας με βάση τη νόμιμη ζήτηση για μη διάδοση των δικαιωμάτων πνευματικής ιδιοκτησίας σε διεπαφές. Ήλπιζαν να κερδίσουν την υπόθεση εις βάρος της εκπροσώπησης της διεπαφής με τη μορφή του πηγαίου κώδικα και της σύνδεσής της με μια πιο φιλοσοφική ιδέα.

Τι είναι η "ενότητα" ή "αφαίρεση";

Με τη λέξη "module" στο κεφάλι μου υπάρχει μια εικόνα κεφαλαίου της ανάρτησης. Αυτή η εικόνα καταδεικνύει καλά τη σημασία των ορίων της μονάδας και της αλληλεπίδρασής του με το περιβάλλον. Η διεπαφή κύβου περιορίζει αμέσως την αλληλεπίδραση του εξωτερικού περιβάλλοντος με τα περιεχόμενα του κύβου. Δεν θα μπορείτε να παρακάμψετε τη διεπαφή, οπότε πρέπει να διατηρήσετε τους "κανόνες του παιχνιδιού" που του επιβλήθηκε. Τέλος, δεν υπάρχει τίποτα μέσα στον κύβο, αλλά δεν έχει σημασία: είναι σημαντικό όχι το περιεχόμενό του, αλλά μια διεπαφή.

Ένα άλλο παράδειγμα: η δομή της κυτταρικής μεμβράνης. Διάφορα εξαρτήματα παρέχουν μόνο τις απαραίτητες ουσίες μέσω της μεμβράνης και μόνο όταν είναι απαραίτητο.

Στο πλαίσιο αυτού του άρθρου, θα χρησιμοποιήσω τους όρους "ενότητες" και "αφαίρεση" ως συνώνυμα. Φυσικά, το επεξηγηματικό λεξικό δεν θα συμφωνήσει μαζί μου, και ακόμη και σε διαφορετικές γλώσσες προγραμματισμού, οι όροι αυτοί έχουν διαφορετικό νόημα. Αλλά σε αυτή την περίπτωση, ενδιαφέρονται μόνο για το γεγονός ότι και οι δύο αυτές οντότητες μπορούν να θεωρηθούν ως σύστημα όπως είναι κατανοητό σε αυτό το άρθρο. Δηλαδή, οι αφαίρεσης και οι ενότητες μπορούν να αποτελούνται από μια διεπαφή και εφαρμογή.

Μπορείτε να διαβάσετε μια ξεχωριστή λειτουργία της μονάδας στη μονάδα C, "Μονάδα" - στην Python, την τάξη ή το πακέτο - στην Java. Κάτι, αν μόνο είχε εξωτερική διεπαφή και "κρυμμένη" εφαρμογή. Επιπλέον, μπορεί να υπάρξει συνέπεια των κανόνων της γλώσσας ή ακόμη και της απόφασης του προγραμματιστή.

Ξήρανση αφαίρεσης

Όσο γνωρίζω, η ιδέα

Dumpy Αφαίρεση που παρουσιάζονται Joel Spolski

. Στο δοκίμιο του υπάρχουν μερικά καλά παραδείγματα, αλλά θα ήθελα να φέρω τη δική μου. Στον προγραμματισμό, η έννοια των "χαρτών" συχνά συναντάται: που αντιπροσωπεύει τη δομή δεδομένων που αποτελείται από ζεύγη κλειδιών και τιμών. Σημαντικό όριο: Η κάρτα εξασφαλίζει ότι όλα τα κλειδιά πρέπει να είναι μοναδικά. Μια προσπάθεια εγγραφής μιας νέας τιμής για ένα υπάρχον κλειδί θα έχει ως αποτέλεσμα σφάλμα ή αντικαταστήστε την προηγούμενη τιμή. Η κατώτατη γραμμή είναι ότι τα πλήκτρα δεν πρέπει να αντιγράφονται. Τις περισσότερες φορές, οι προγραμματιστές απαιτούν την επιθυμία να λύσουν όλα αυτά τα κλειδιά. Και δεδομένου ότι οι χάρτες δεν μπορούν να εγγυηθούν μια ορισμένη σειρά διαλογής κλειδιών, μερικές φορές είναι απαραίτητο να αναρωτηθούμε με ποια σειρά θα είναι μετά το busting; Αυτή είναι η συνέπεια του γεγονότος ότι η διασύνδεση της κάρτας δεν επιτρέπει εγγυήσεις διαλογής. Και αν και πιστεύεται ότι δεν έχει σημασία, αλλά στην πράξη, θέλω ακόμα να ταξινομήσω. Επομένως, είναι απαραίτητο για μια πιο αποτελεσματική οργάνωση δεδομένων, για παράδειγμα, να διευκολύνει την επαλήθευση των υφιστάμενων κλειδιών.

Τα ταξινομημένα δεδομένα Brute Force μπορούν να δώσουν ένα εντελώς διαφορετικό αποτέλεσμα σε σύγκριση με τα τυχαία δεδομένα που συντρίβουν. Ας υποθέσουμε ότι πρέπει να βρείτε την ελάχιστη τιμή στη λίστα: 

min = null; λίστα = map.getmapkeys (); για (στοιχείο στη λίστα) {αν (min == null) {min = στοιχείο} αλλιώς εάν (στοιχείο <min) {min = min? / * Αυτή η γραμμή έχει ένα σφάλμα * /}}

Κλαδί

Αλλιώς εάν.

Ποτέ δεν θα εκτελεστεί εάν τα δεδομένα ταξινομούνται αύξουσα. Ακόμα κι αν αρχίσετε να ελέγχετε από μια τυχαία θέση της λίστας, το πρόγραμμα δεν θα συγκρούσει ποτέ με αυτή τη συμβολοσειρά. Και αυτό είναι ένα τεράστιο πρόβλημα, αφού αν αλλάξετε την εφαρμογή της κάρτας και δεν θα επιστρέψετε τα ταξινομημένα πλήκτρα, τότε ο κωδικός σας θα πραγματοποιηθεί ξαφνικά σε ένα σφάλμα σφάλματος. Και από τη στιγμή που θα ξεχάσετε εντελώς τον κώδικα και η βόμβα που κρύβεται μέσα σε αυτό.

Θέλω να προσφέρω τον δικό μου ορισμό της διαρροής αφαίρεσης.

Η διαρροή αφαίρεσης (αφηρημένη διαρροή) ονομάζεται κατάσταση όταν η εφαρμογή μπορεί να επηρεάσει το περιβάλλον, καθώς δεν προβλεπόταν από τη διεπαφή.

Σύμφωνα με αυτόν τον ορισμό,

Σχεδόν κάθε

Αφαίρεση - αναπνοή. Εξάλλου, η περιγραφή στη διεπαφή όλων των τύπων περιβαλλοντικών επιπτώσεων έχει νόημα μόνο στα πιο αυστηρά μαθηματικά συστήματα. Και για τα φυσικά συστήματα, τότε ίσως να το θυμόμαστε

.

Θεώρημα Gödel για την ατέλεια

Η ιδέα των οπών των περισσότερων αφαίρεσης δεν είναι παράλογη. Αυτό σήμαινε τον Joel Spolski στο "νόμο της διαρροής":

"Όλες οι μη τριπλές αφαίρεσης είναι ένα τρύο σε κάποιο βαθμό."

Μόλις κλίνει όλες οι αφαίρεσης, τι να μιλήσετε; Προβλήματα προκύπτουν μόνο όταν ένα μέρος του περιβάλλοντος αρχίζει να βασίζεται σε έναν από τους απρόβλεπτους τρόπους έκθεσης στο σύστημα. Πρόκειται για τέτοιες διαρροές που λένε ο καθένας.

Αυτό οδηγεί σε εκτεταμένες συνέπειες, όχι μόνο από την άποψη των συνηθισμένων σφαλμάτων, αλλά και στον τομέα της ασφάλειας. Με φυσικά συστήματα στα οποία υπάρχουν διαρροές στο εξωτερικό περιβάλλον, συμβιβάζοντας την ασφάλεια, τον όρο "

Πλευρική επίθεση καναλιού

" Σε συνδυασμό με μια δήλωση ότι όλες οι αφαίρεσης των οπών μας οδηγούν στο συμπέρασμα:

Κάθε φυσική εφαρμογή του κρυπτοσυστήματος είναι ευάλωτη σε επιθέσεις τρίτων.

Δεδομένων όλων των παραπάνω, αυτή η ιδέα μπορεί να επεκταθεί όχι μόνο στη φυσική, αλλά και στις εξελιγμένες υλοποιήσεις.

Αξιολόγηση και σύγκριση των διεπαφών

Όπως έχουμε ήδη δει παραπάνω, σε διεπαφές στο C είναι σύνολα όπως ο τύπος της τιμής επιστροφής και ο αριθμός των παραμέτρων που μπορούν να μεταδοθούν. Τι γίνεται με την Python; Χρησιμοποιώ τον όρο "interface" σύμφωνα με το πλαίσιο του άρθρου, δηλαδή, με ευρύτερη έννοια σε σύγκριση με αυτό που γράφουν στα βιβλία σχετικά με τις "διεπαφές" στην Python. 

DEF ADD_NUMBERS (A, B): Επιστροφή A + Bprint (add_numbers (3,1)) Εκτύπωση (add_numbers ("ABC", "DEF")))

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

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Νομίζω ότι χρειάζεστε κάτι να πούμε για την αξιολόγηση και τη σύγκριση των διαφόρων χαρακτηριστικών της διασύνδεσης από την άποψη των μεθόδων μεταφοράς πληροφοριών. Μπορείτε να αξιολογήσετε τόσο μια συγκεκριμένη διεπαφή όσο και ένα σύνολο όλων των διεπαφών που μπορούν να εφαρμοστούν σε αυτή τη γλώσσα. Ας θυμηθούμε το παράδειγμά μας με

Και εκτιμούμε πόσες πληροφορίες μπορούμε να περάσουμε μέσα από τη διασύνδεση και την παράκαμψη, με τη βοήθεια διαρροών αφαίρεσης. Μέσω της διασύνδεσης
Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών
Αριθμός πιθανών πολιτών Τύπος παραμέτρου 1. 1 (μη υπογραφεί int) Κατάσταση παγκόσμιας μεταβλητής
(Αριθμός παγκόσμιων μεταβλητών) * (αριθμός κρατών παγκόσμιων μεταβλητών) Τύπος παραμέτρου 1. Τύπος παραμέτρου 2. Σύστημα αρχείων
Αριθμός κατάστασης του κρατικού συστήματος Τύπος παραμέτρου 1. Τύπος επιστρεφόμενης τιμής Χρόνος χρήσης επεξεργαστή
Μη περιορισμένο Τιμή παραμέτρου 1. 2 ^ (Μετρήστε σε μη υπογραφές int) Κατάσταση του kuchi.
Αριθμός κρατών Τιμή παραμέτρου 1. Τιμή παραμέτρων 2. Πολλά άλλα ...
... Τιμή παραμέτρου 1.

Αξία επιστροφής

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Και υπάρχουν πολλά πράγματα που μπορούν να επικοινωνούν με

μέσω διεπαφής Python. Μεταφορά πληροφοριών μέσω διεπαφής Python
Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών
Αριθμός πιθανών πολιτών Μεταφορά πληροφοριών παρακάμπτοντας τη διεπαφή Python 1 (μη υπογραφεί int) Σύστημα αρχείων
(Αριθμός παγκόσμιων μεταβλητών) * (αριθμός κρατών παγκόσμιων μεταβλητών) Μεταφορά πληροφοριών παρακάμπτοντας τη διεπαφή Python Τύπος παραμέτρου 2. Χρόνος χρήσης επεξεργαστή
Αριθμός κατάστασης του κρατικού συστήματος Μεταφορά πληροφοριών παρακάμπτοντας τη διεπαφή Python Τύπος επιστρεφόμενης τιμής Κατάσταση του kuchi.
Μη περιορισμένο Μεταφορά πληροφοριών παρακάμπτοντας τη διεπαφή Python 2 ^ (Μετρήστε σε μη υπογραφές int) Πολλά άλλα ...
Αριθμός κρατών Μεταφορά πληροφοριών παρακάμπτοντας τη διεπαφή Python Τιμή παραμέτρων 2. Κατάσταση παγκόσμιας μεταβλητής
... Μεταφορά πληροφοριών παρακάμπτοντας τη διεπαφή Python

Πρακτικά άπειρη

Και τώρα ρίξτε μια ματιά στον αριθμό των τύπων διασύνδεσης που μπορούμε να περιγράψουμε στο Haskell: 

Add_numbers :: int> int -> intadd_numbers 3 4 = 7Main = Εκτύπωση (add_numbers 3 4)

Όλα αυτά είναι περίεργη φιλοσοφική συλλογιστική, αλλά πώς σχετίζονται με το λογισμικό γραφής; Λοιπόν, ας ξεκινήσουμε με το γεγονός ότι οι διεπαφές στον προγραμματισμό σας περιβάλλουν από όλες τις πλευρές, ακόμα κι αν δεν το δώσετε προσοχή σε αυτό. Για παράδειγμα, εάν προγραμματίζετε την Java, τότε ονομάζετε ρητά τις διεπαφές ανάλογα με το σκοπό τους. Και σε άλλες γλώσσες, υπάρχουν επίσης. Ας εξετάσουμε ένα παράδειγμα λειτουργίας διεπαφής

Δεδομένου αυτού του κώδικα, τη διεπαφή

Μπορεί να λάβει τις ακόλουθες πληροφορίες: Μεταφορά πληροφοριών μέσω της διασύνδεσης Haskell
Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών
Αριθμός πιθανών πολιτών Μεταφορά πληροφοριών μέσω της διεπαφής Haskell Τύπος επιστρεφόμενης τιμής Χρόνος χρήσης επεξεργαστή
(Αριθμός παγκόσμιων μεταβλητών) * (αριθμός κρατών παγκόσμιων μεταβλητών) Μεταφορά πληροφοριών μέσω της διεπαφής Haskell 1 (int) Χρόνος χρήσης επεξεργαστή
Αριθμός κατάστασης του κρατικού συστήματος Μεταφορά πληροφοριών μέσω της διεπαφής Haskell Επίδραση στον επεξεργαστή / μνήμη μνήμης Πολλά άλλα ...
Μη περιορισμένο Αλλα ...
Αριθμός κρατών 1 (τιμή 3)
... 1 (τιμή 4)

Τουλάχιστον 2 ^ 30 [1]

  • Για μια συγκεκριμένη διεπαφή στη γλώσσα που επιλέξατε, μπορείτε επίσης να αξιολογήσετε τον αριθμό των μοναδικών τρόπων μεταφοράς πληροφοριών:
  • μέσω της διασύνδεσης.

Με τη μεταφορά της διασύνδεσης μέσω διαρροών αφαίρεσης.

  • Μπορείτε επίσης να δώσετε προσοχή στα εξής:
  • Πόσοι περιορισμοί μπορείτε να χρησιμοποιήσετε μέσα σε αυτή τη γλώσσα από την άποψη του ελάχιστου και του μέγιστου αριθμού πληροφοριών που μεταδίδονται μέσω της διασύνδεσης.

Ποια μέσα παρέχουν αυτή τη γλώσσα για να αποτρέψει την αλληλεπίδραση με την παράκαμψη διεπαφής.

Προγράμματα
Ας αναλύσουμε με αυτόν τον τρόπο το γραφικό περιβάλλον χρήστη στο οποίο είναι δυνατό να αλλάξετε τους φακέλους: Μετάδοση πληροφοριών μέσω GUI
Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών
Μεταφορά πληροφοριών παρακάμπτοντας το GUI Κάντε κλικ στο φάκελο 1 Αριθμός εικονοστοιχείων στην οθόνη που κατέχει ο φάκελος 1 * Αριθμός κλικ Χρόνος χρήσης επεξεργαστή
Κρυφές δυνατότητες ui Κάντε κλικ στο φάκελο 2 Αριθμός εικονοστοιχείων στην οθόνη που κατέχει ο φάκελος 2 * Αριθμός κλικ Μη τυποποιημένοι συνδυασμοί γρήγορης κλήσης
Αριθμός εικονοστοιχείων στην οθόνη που καταλαμβάνεται από το κουμπί 2 Δρομέας καθοδήγησης στον φάκελο 1 Αριθμός εικονοστοιχείων στην οθόνη που κατέχει ο φάκελος 1 Πολλά άλλα ...
Άλλες απροσδόκητες δυνατότητες UI Δρομέας καθοδήγησης στο φάκελο 2
Αριθμός εικονοστοιχείων στην οθόνη που κατέχει ο φάκελος 2 Χρόνος μεταξύ καθοδήγησης και κλικ
Άπειρα Τυποποιημένα συμβάντα πληκτρολογίου
Αριθμός τυπικών συνδυασμών κλειδιών Περιοχή οθόνης που καταλαμβάνεται από gui

Αριθμός εικονοστοιχείων που χρησιμοποιούνται για την εμφάνιση GUI

Και τώρα εξετάστε το ίδιο καθήκον της αλλαγής του φακέλου χρησιμοποιώντας τη γραμμή εντολών και

:

Ας αναλύσουμε με αυτόν τον τρόπο το γραφικό περιβάλλον χρήστη στο οποίο είναι δυνατό να αλλάξετε τους φακέλους: Μετάδοση πληροφοριών μέσω GUI
Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών Με τη διεξαγωγή της διασύνδεσης Περιγραφή των χαρακτηριστικών
CD Χρόνος χρήσης επεξεργαστή Αριθμός ονομάτων φακέλου που μπορείτε να καλέσετε Χρόνος χρήσης επεξεργαστή

Μεταβλητό περιβάλλον

Στους προηγούμενους δύο πίνακες, δεν συμπεριέλαβα δεδομένα όπως ο αριθμός του θορύβου στο σήμα. Εάν συγκρίνετε την πολυπλοκότητα της επανάληψης της ίδιας ακολουθίας όταν πατάτε τα πλήκτρα (το ένα μετά το άλλο) και την κίνηση του ποντικιού (pixel πίσω από το εικονοστοιχείο), είναι προφανές ότι στη δεύτερη περίπτωση, τα σφάλματα είναι πολύ περισσότερο. Σε γραφικές διεπαφές, αυτό αντισταθμίζεται κάνοντας λιγότερο αυστηρή σημασιολογία. Φανταστείτε εάν στα κουμπιά "OK" και "Ακύρωση" που είναι διαθέσιμα στα κλικ της ζώνης ήταν μόνο 1 πλάτος pixel.

Είναι δυνατόν να περιπλέξει περαιτέρω την ανάλυση εάν αξιολογήσετε την αλλαγή στο μερίδιο των σφαλμάτων σε χρήστες με σωματικές αναπηρίες.

  • Έτσι, θεωρήσαμε έναν από τους πιθανούς τρόπους για την αξιολόγηση και τη σύγκριση των διεπαφών. Με βάση τα παραπάνω παραδείγματα και τη δική τους εμπειρία, επιτρέψτε μου να κάνω αρκετές επιδράσεις:
  • Οι άνθρωποι προτιμούν τις διεπαφές που δεν είναι υπερβολικά αυστηρές όταν λαμβάνουν πληροφορίες, ειδικά αν η διεπαφή δεν είναι εξοικειωμένη.
  • Δεν είναι πολύ αυστηρές διασυνδέσεις πιο συχνά χρησιμοποιούνται εσφαλμένα.
  • Οι ολοκληρωμένες διεπαφές που φιλοξενούν μεγάλες ποσότητες πληροφοριών φαίνονται ισχυρές, αλλά συχνά χρησιμοποιούνται εσφαλμένα.
  • Εάν η αλληλεπίδραση γίνει κουραστική, οι άνθρωποι προσπαθούν να μεταφέρουν πληροφορίες στην παράκαμψη διασύνδεσης.

Όταν αλληλεπιδράτε, παρακάμπτοντας τη διεπαφή, μέσω διαρροών αφαίρεσης, η εμφάνιση δυσάρεστων εκπλήξεων είναι εξαιρετικά πιθανή.

Ξήρανση και περιορισμένες διεπαφές

Θα περιγράψω διάφορες παρατηρήσεις με βάση την ανάλυση από την προηγούμενη ενότητα. Αλλά πρώτα θα δώσω δύο ορισμούς:

Η διαρροή διασύνδεσης (διαρροή διεπαφής) είναι μια διεπαφή που αγνοείται κατά τη διάρκεια οποιωνδήποτε αλληλεπιδράσεων μεταξύ του συστήματος και του περιβάλλοντος.

Μια περιορισμένη διεπαφή (συγκεκριμένη διεπαφή) είναι μια διεπαφή με έναν σχετικά μικρό αριθμό πιθανών εισροών και εξόδων.

Ένα καλό παράδειγμα μιας περιορισμένης διεπαφής -

Piecewise συγκεκριμένες λειτουργίες

που ορίζονται μόνο για ένα μικρό αριθμό δεδομένων εισόδου.

Εάν μπορείτε εύλογα να αξιολογήσετε τις διεπαφές "τρύπες" ή "περιορισμοί", έχει νόημα να περιγράψουμε το εύρος, στο ένα άκρο του οποίου θα είναι πολύ περιορισμένες και ανενεργές διεπαφές και από την άλλη - απεριόριστη και διαρροή.

Πιθανότατα προσφέρετε κάποιον να μετακινηθεί αριστερά ή δεξιά στην κλίμακα, αλλά το σημαντικότερο, άρπαξε την ιδέα. Μπορείτε ακόμη και να σπάσετε σε δύο ξεχωριστές κλίμακες: σύμφωνα με το βαθμό οπών και αυστηρών. Αν και γενικά αυτές οι δύο έννοιες συσχετίζονται καλά.

Η επόμενη συσχέτιση που θέλω να προσφέρω προέρχεται από την εμπειρία μου. Στο αριστερό άκρο της κλίμακας "σφάλματος" είναι λιγότερο συχνές και συνήθως προκύπτουν λόγω αποτυχιών

Επικύρωση

.

. Στο δεξιό άκρο της κλίμακας σφάλματος εμφανίζεται πιο συχνά και συχνά ο λόγος τους έγκειται στις αποτυχίες όταν

επαλήθευση

Ασυμπτωτική πολυπλοκότητα του τεχνικού χρέους

Θα ξεκινήσω με τη δήλωση:

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

Στην αρχή, το έργο περιέχει ένα ή δύο μονάδες και να μελετήσει μια καλή συμφωνία διεπαφής, θα χρειαστεί να εκτελέσετε το ποσό της εργασίας στο (1). Εάν η διεπαφή σας είναι κακή, ο όγκος του τεχνικού χρέους θα είναι επίσης ίσος με (1), ώστε να μην χρειαστεί να περάσετε πολύ χρόνο για να φέρετε τη σύμβαση διεπαφής. Αλλά με γραμμική αύξηση της ποσότητας των μονάδων, ο όγκος των διατροπικών δεσμών μπορεί να επιτύχει O (n ^ 2). Ως εκ τούτου, με μια κακή διεπαφή, εάν κάθε μονάδα αλληλεπιδρά με όλες τις άλλες μονάδες, ο αριθμός των προσφυγών στη διεπαφή στη χειρότερη περίπτωση θα είναι ανάλογη με το n ^ 2.

Όπως μπορεί να φανεί από τα γραφήματα, αρχικά αποθηκεύεται στη δημιουργία μιας καλά διασύνδεσης. Αλλά αυτή η νίκη χάνεται γρήγορα λόγω των αυξανόμενων προβλημάτων που σχετίζονται με την αλληλεπίδραση μεταξύ των μονάδων. Το ποσό της εργασίας λόγω αυτών των αυξήσεων στον βαθμό ποσότητας των ενοτήτων, ενώ με μια καλή διεπαφή μεγαλώνει γραμμικά. Το χειρότερο σενάριο - όταν κάθε μονάδα επικοινωνεί με κάθε ενότητα, υπάρχουν περισσότερα προβλήματα στη διαδικασία της Hendeshka, από εδώ και στελέχη.

Τυπικά, το επίπεδο της διατροπικής αλληλεπίδρασης αυξάνεται αργότερα από το O (n ^ 2), αλλά είναι σίγουρα ταχύτερη από ό, τι (n). Υπάρχει επίσης ένας παράγοντας που μετατοπίζει την έναρξη της ταχείας ανάπτυξης στο μέλλον: αυτή είναι η ανθρώπινη μνήμη. Ακόμη και όταν υπάρχουν 20 ενότητες στο έργο σας, πιθανότατα θυμάστε ότι κάνει καθένα από αυτά. Έτσι, όλων των συμβάσεων χρειάζεστε μόνο τα ομίχλη των λειτουργιών και των εσωτερικών συμφωνιών. Αλλά μόλις το έργο γίνει αρκετά μεγάλο, τότε πολλές λεπτομέρειες ξεχνούν, ή όταν οι νέοι άνθρωποι έρχονται στο έργο - και η ισχυρή αύξηση του κόστους εργασίας αρχίζει.

  • Γιατί εξακολουθούν να χρησιμοποιούν τη γραμμή εντολών;
  • Θα λάβετε διαφορετικές απαντήσεις από άτομα σε αυτή την ερώτηση, καμία από τις οποίες δεν μου φαίνεται το πιο σημαντικό πράγμα:
  • Η γραμμή εντολών είναι ευέλικτη και δίνει πολλές ευκαιρίες.

Καταναλώνει λιγότερους πόρους.

Αυτό σας επιτρέπει να κατανοήσετε καλύτερα πώς λειτουργεί όλα.

Το πιο σημαντικό είναι το γιατί εξακολουθούμε να χρησιμοποιούμε τη γραμμή εντολών, είναι

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ!

Είναι δύσκολο να υπερεκτιμηθεί τα οφέλη της χρήσης αυτοματοποιημένων διαδικασιών. Αν χρειαστεί να εκτελέσω ένα σύμπλεγμα σε 100 διακομιστές, δεν θα συνδεθώ με κάθε ένα από αυτά μεμονωμένα και χειροκίνητα λογισμικό, κάνοντας κλικ σε ένα σωρό κουμπιά σε αμέτρητους GUI. Ακόμη και αν χρειαστεί να αυτοματοποιήσετε τη διαδικασία Clichan στο GUI, θα χρειαστείτε ένα άλλο αρχείο στο οποίο οι πληροφορίες θα αποθηκευτούν εκεί όπου και πώς να κάνετε κλικ. Κάτι σαν ένα ευέλικτο αρχείο ... ομάδες.

Παρόλο που θα μπορούσαμε να εφαρμόσουμε την αυτοματοποίηση μέσω των αγκυλώσεων κλικ και στην οθόνη, δεν πρέπει να ξεχνάμε ότι αυτός ο τύπος αλληλεπίδρασης με το μηχάνημα εφευρέθηκε για τους ανθρώπους. Υποστηρίζει τη χρήση μη αυστηρής διεπαφής που δεν απαιτεί υψηλή ακρίβεια. Επομένως, ο αυτοματοποιημένος clicker σας σίγουρα θα χρησιμοποιηθεί αν το παράθυρο ξαφνικά μετακινηθεί από τη θέση του ή η γραμματοσειρά συστήματος θα αλλάξει. Με το GUI, συνδέονται πάρα πολλές μεταβλητές. Και η γραμμή εντολών σας επιτρέπει να ενεργείτε πολύ πιο ακριβέστερα, αλληλεπιδράτε μέσω μιας πολύ αυστηρής διεπαφής. Ως εκ τούτου, πολλοί άνθρωποι δεν τον συμπαθούν, σε αντίθεση με τα προγράμματα ηλεκτρονικών υπολογιστών.

Φυσικά, υπάρχουν καταστάσεις όπου η χαμηλή ακρίβεια της αλληλεπίδρασης του GUI είναι καλή. Για παράδειγμα, όταν δημιουργείτε ψηφιακές ζωγραφιές, δεν χρειάζεται να ανησυχείτε για την τοποθέτηση και το χρώμα κάθε εικονοστοιχείου. Το κύριο πράγμα είναι να είναι

κάτι

Ειδικό για κάθε εικονοστοιχείο. Ως εκ τούτου, ο θόρυβος που μεταδίδεται με το χέρι που κινείται ο δρομέας καθίσταται σημαντικές πληροφορίες στο τελικό προϊόν.

Επιλέγοντας τη σωστή γλώσσα

Μετά την ενότητα σχετικά με την ασυμπτωτική πολυπλοκότητα του τεχνικού χρέους, ίσως νομίζετε ότι οποιοδήποτε έργο πρέπει να γραφτεί σε μια γλώσσα με πολύ αυστηρές συνθήκες συμβάσεων διεπαφής, όπως το Haskell ή Java. Αλλά αυτό δεν είναι ακριβώς αυτό που ήθελα να μεταφέρω. Η απάντηση στην επόμενη ερώτηση μπορεί να σας βοηθήσει να κάνετε τη σωστή επιλογή.

Πόσο πιθανό να αλλάξετε τις απαιτήσεις για το έργο σας;

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

Εάν απαντήσατε "πολύ πιθανό", στη συνέχεια, χρησιμοποιήστε μια γλώσσα που θα σας επιτρέψει να χάσετε λιγότερο χρόνο κατά τον προσδιορισμό των συμβάσεων διεπαφής: σίγουρα θα λειτουργούν εναντίον σας σε περίπτωση αλλαγών στις απαιτήσεις. Αλλά το κύριο έργο εδώ δεν είναι να αποκτήσετε την ιδανική εφαρμογή των απαιτήσεων, αλλά τις ιδανικές απαιτήσεις που σας επιτρέπουν

να ξεκινήσω

Δημιουργία τελικής εφαρμογής. Μια εξαίρεση μπορεί να είναι μια κατάσταση όπου το MVP σας είναι ένα τεράστιο σύστημα με εκατοντάδες μονάδες. Εάν πολλοί άνθρωποι εμπλέκονται στο έργο, τότε μια καλή διεπαφή είναι απλά απαραίτητη για να φτάσουν ο ένας στον άλλο.

Εάν απαντήσατε "όχι πολύ πιθανό", στη συνέχεια χρησιμοποιήστε μια γλώσσα με πολύ αυστηρές συμβάσεις διεπαφής. Πρώτα θα πρέπει να εργαστείτε περισσότερο, αλλά τότε η εισαγωγή νέων ευκαιριών θα απαιτήσει λιγότερες προσπάθειες. Η μόνη εξαίρεση μπορεί να είναι μια κατάσταση αν γράψετε κάποιο μικρό προϊόν (αρκετές εκατοντάδες χορδές).

Κάποια στιγμή σπάστηκε αρκετά αντίγραφα σχετικά με το τι άρχισε να δημιουργεί το Twitter σε ρουμπίνι σε ράγες, και στη συνέχεια ήταν ο λόγος για την κλιμάκωση του έργου. Αργότερα το Twitter μεταφράστηκε στο Scala. Κάποιος μπορεί να υποθέσει ότι οι προγραμματιστές έκαναν λάθος και θα έπρεπε αμέσως να επιλέξουν τη Σκάλα. Δεν νομιζω. Στην καρδιά του Twitter βρίσκεται μια πολύ απλή ιδέα και στις συνθήκες μεγάλου αριθμού ανταγωνιστών που χρειάζονται για να κερδίσουν τη δεσπόζουσα θέση στην αγορά. Χρειάστηκαν να αναπτυχθούν όσο το δυνατόν γρηγορότερα, παρά τα έξοδα. Οι κύκλοι ανάπτυξης νέων χαρακτηριστικών θα έπρεπε να έχουν περάσει το πιο γρήγορα όσο το δυνατόν πιο γρήγορα, καθώς το επιτρέπει στο συντομότερο δυνατό χρόνο να καταλάβουν τι χρειάζονται ακριβώς τους χρήστες, ποιο προϊόν θέλουν ως αποτέλεσμα να πάρουν. Οι δυσκολίες της κλιμάκωσης είναι ένα σημάδι μη αποτυχίας, αλλά η επιτυχία. Το όραμα του Twitter διατυπώθηκε ως τελικό προϊόν και παρέμεινε μόνο για να το συνειδητοποιήσει. Από την άποψη των προγραμματιστών, είναι απλώς μια νιρβάνα, ο καθένας ονειρεύεται για ένα τέτοιο πράγμα, αλλά λίγοι άνθρωποι καταφέρνουν να δουλέψουν σε τέτοιες συνθήκες: "Αναποφάσκουν αυτό το σκατά από το μηδέν στην αγαπημένη σας γλώσσα, καθώς είναι βολικό για εσάς, αν μόνο Στο μέλλον ήταν ευκολότερο να συνεργαστούμε μαζί του. " Είναι πολύ πιο εύκολο να ξαναγράψουμε κάτι από το μηδέν, έχοντας μια ασθενέστερη εφαρμογή πριν από τα μάτια μας παρά να προσπαθήσουμε να προσθέσετε ένα βλέμμα προϊόντος, το οποίο θα επιτρέψει στην εταιρεία να απογειωθεί. Δυστυχώς, η πλειοψηφία των συμμετεχόντων στην αγορά πηγαίνουν μόνο αποφεύγοντας το "περιττό" κόστος για τη δημιουργία από το μηδέν και να περάσουν πολύ δύναμη και χρόνο στην κλιμάκωση ότι ήταν αρχικά αδύνατο να κλιμακωθεί.

Γιατί είναι τόσο δημοφιλές python;

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

Πιστεύω ότι η δημοτικότητα της Python προκύπτει από το γεγονός ότι πρόκειται για μια εξαιρετική εισαγωγική γλώσσα που παρέχει εξαιρετικά απλές συμβάσεις διεπαφής. Για τον ίδιο λόγο, με αύξηση του έργου στην Python, γίνεται όλο και πιο δύσκολη.

Η Python είναι πολύ δημοφιλής στην επιστημονική κοινότητα και μεταξύ των λάτρεις του πειραματισμού με αριθμητική ανάλυση. Η ίδια η ουσία του πειράματος απαιτεί σταθερή βελτίωση στο δημιουργημένο προϊόν και οι αυστηρές διασυνδέσεις επιβραδύνουν.

Γιατί το εταιρικό λογισμικό συνήθως γράφει στο Java / C ++;

Στην ενότητα σχετικά με τις οπές και τις αυστηρές διεπαφές, μίλησα για συμβιβασμούς που σχετίζονται με διαφορετικούς τύπους διεπαφών. Οι Java και C ++ είναι περισσότερο στο αυστηρό μέρος του φάσματος, σε αντίθεση με την Python ή Ruby. Ναι, οι διαρροές μπορεί να έχουν διαρροές και υπάρχουν πιο αυστηρές γλώσσες (το ίδιο χασκελένιο), αλλά η Java και η C ++ είναι πιο ισορροπημένα από την άποψη της κλιμάκωσης, της φιλικότητας και των στίχων. Επιπλέον, αυτές οι δύο γλώσσες σας επιτρέπουν να είστε ευέλικτοι για να ελέγξετε τα καθυστερήματα των διασυνδέσεων ανάλογα με τις συμφωνίες του έργου. Για παράδειγμα, κάνοντας μεταβλητές ή λειτουργίες με ιδιωτικό, δημόσιο ή προστατευμένο.

Πώς να κόψετε τις γωνίες

Αν θέλετε να φέρετε κάτι από αυτό το άρθρο, παρακαλώ: Όταν πρέπει να κόψετε τις γωνίες στο έργο, κάντε το μέσα

Εκπτώσεις

και γυρίστε γύρω από το B.

  • πολύ καλά
  • διεπαφή. Ακόμη και αν η εφαρμογή δεν είναι πολύ καλή και τα προβλήματά της ρέουν σε άλλα μέρη του συστήματος, τότε αυτό είναι ένα κακό πρόβλημα διασύνδεσης! Έτσι ώστε να μην υπάρχει παρεξήγηση, αφήστε τη λίστα με το τι εννοώ κάτω από τις διασυνδέσεις:
  • Πρωτότυπα λειτουργιών.
  • "Διεπαφές" Java.
  • Μέθοδοι δημόσιων τάξεων.
  • Μεταβλητές δημόσιων εξαρτημάτων.
  • Αρχεία κεφαλίδας (.h) στο C / C ++.
  • Ξαπόρα σημεία ακραίου API.
  • Δρομολόγηση URL.
  • Δημόσιες πτυχές των "μοντέλων" ή "πακέτων".

Δομή δεδομένων λογικής βάσης δεδομένων (DDL).

Και πολλα ΑΚΟΜΑ.

συμπέρασμα

Όπως μπορείτε να δείτε, η ιδέα διεπαφής είναι εξαιρετικά σημαντική και έχει πολύ μεγάλο αντίκτυπο στην ανάπτυξη του έργου στον τομέα της νομικής προστασίας, της παραγωγικότητας και του αριθμού των φιλοσοφικών σχέσεων με άλλες πτυχές της δομής του συστήματος. Ρωτήστε άλλους προγραμματιστές ότι σκέφτονται για διεπαφές και ακούνε όλα τα πράγματα.

Η διεπαφή χρήστη είναι το μέσο αλληλεπίδρασης μεταξύ ανθρώπων και υπολογιστή. Μιλώντας με απλές λέξεις, η διεπαφή είναι το εξωτερικό μέρος του προγράμματος ή η συσκευή με την οποία λειτουργεί ο χρήστης. Η Word Interface - Cartridge με την αγγλική διασύνδεση, δηλαδή ο "συνόρων συνόρων".

Τις περισσότερες φορές, σύμφωνα με τη διεπαφή λέξεων συνεπάγεται τη διεπαφή χρήστη. Για παράδειγμα, λένε: "Αυτό το ηλεκτρονικό κατάστημα έχει μια δυσάρεστη, συγκεχυμένη διεπαφή". Αυτό σημαίνει ότι το κατάστημα είναι ενοχλητικό να αλληλεπιδράσει. Για παράδειγμα, είναι δύσκολο να βρεθούν τα απαραίτητα αγαθά, δεν είναι σαφές πώς να τοποθετήσετε μια παραγγελία, ο ιστότοπος δεν αποθηκεύει τα δεδομένα που έχουν εισαχθεί προηγουμένως, κλπ.

Παραδείγματα χρήσης:

Πολλοί χρήστες θα ήθελαν να επιστρέψουν την παλιά διεπαφή "Vkontakte", δεν τους αρέσει το νέο.

Το πρόγραμμα έχει μια διαισθητική διεπαφή - αμέσως σαφές πού να πιέσει και τι θα οδηγήσει σε.

Η διασύνδεση των Windows είναι πολύ περίπλοκη: οι άπειροι χρήστες συγχέονται σε ένα σωρό των ρυθμίσεων.

Η διεπαφή ιστού είναι μια σελίδα στο διαδίκτυο που επιτρέπει στον χρήστη να αλληλεπιδράσει με κάποια υπηρεσία ή συσκευή απευθείας μέσω του προγράμματος περιήγησης. Για παράδειγμα, χρησιμοποιώντας τη διεπαφή ιστού, μπορείτε να χρησιμοποιήσετε την ηλεκτρονική τράπεζα: μεταβείτε στη σελίδα της τραπεζικής, εισάγετε την είσοδο και τον κωδικό πρόσβασης και, στη συνέχεια, μεταφράστε χρήματα μεταξύ λογαριασμών, πληρώνουν για υπηρεσίες κ.λπ.

Διασύνδεση υλικού και λογισμικού. Ποια είναι η διασύνδεση USB και API Εκτός από τη διεπαφή χρήστη, υπάρχει μια διεπαφή λογισμικού (αλληλεπίδραση προγραμμάτων μεταξύ τους) και διεπαφή υλικού (μέθοδοι για την αλληλεπίδραση φυσικών συσκευών, "σίδηρο"). Όταν λένε για τη διεπαφή υλικού, συνήθως εννοούν τους συνδέσμους μέσω των οποίων οι συσκευές μπορούν να συνδεθούν μεταξύ τους. Για παράδειγμα, "Σύνδεση μέσω διεπαφής USB" σημαίνει συσκευές σύνδεσης μέσω

Καθολικό διαδοχικό ελαστικό

που προορίζονται για τη σύνδεση περιφερειακού εξοπλισμού. Μέσω ενός USB, για παράδειγμα, μπορείτε να συνδέσετε ένα πληκτρολόγιο, ποντίκι, κάμερα ή smartphone σε έναν υπολογιστή.

Διασύνδεση υλικού - Καλώδιο USB

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

Για παράδειγμα, στον ιστότοπο ειδήσεων δείχνει τις τιμές των νομισμάτων που αλλάζουν σε πραγματικό χρόνο. Αυτό δεν σημαίνει ότι ο επεξεργαστής ιστότοπου κάθε φορά που αλλάζει χειροκίνητα τους αριθμούς στη σελίδα. Ο ιστότοπος ειδήσεων στέλνει ένα αίτημα API σε ένα διακομιστή με ανταλλαγή συναλλάγματος και λαμβάνει τους απαραίτητους αριθμούς από εκεί.

Τύποι διεπαφών χρήστη. Γραφικό, κείμενο και άλλα

Η διεπαφή κειμένου είναι ένας τρόπος επικοινωνίας ενός ατόμου με έναν υπολογιστή χρησιμοποιώντας εκτύπωση εντολών. Για παράδειγμα, στο λειτουργικό σύστημα MS-DOS, η διεπαφή ήταν κειμένου - ο χρήστης καλεί τις απαραίτητες εντολές στο πληκτρολόγιο και το έργο τους πραγματοποίησε.

Διασύνδεση κειμένου MS-DOS - Γραμμή εντολών

Το πρόβλημα της διασύνδεσης κειμένου είναι ότι ο χρήστης πρέπει να γνωρίζει τις απαραίτητες εντολές και κάθε φορά να τα πληκτρολογήσει χειροκίνητα χωρίς σφάλματα. Εν μέρει από αυτή τη δυσκολία εξάλειψε το κέλυφος για το MS-DOS - για παράδειγμα, ο διοικητής του Norton.

Norton Commander - Διαχείριση αρχείων για MS-DOS. Μπορείτε όχι μόνο να πληκτρολογήσετε εντολές στο πληκτρολόγιο, αλλά να εργαστείτε με αρχεία χρησιμοποιώντας συντομεύσεις πληκτρολογίου.

Σύντομα εμφανίστηκαν γραφικές διεπαφές όπου ο χρήστης αλληλεπιδρά με οπτικά αντικείμενα: κουμπιά, εικονίδια, εικόνες στην οθόνη. Το λειτουργικό σύστημα Windows χρησιμοποιεί μια γραφική διεπαφή: Ο χρήστης κάνει κλικ στα εικονίδια στα εικονίδια - Εικονογράμματα που απεικονίζουν αρχεία και προγράμματα.

Windows 3.11 Γραφική διασύνδεση

Η διεπαφή υλικού είναι ένας τρόπος να αλληλεπιδράσετε με έναν υπολογιστή χρησιμοποιώντας απτές δομές. Για παράδειγμα, ένα ποντίκι υπολογιστή ή joystick είναι μια διεπαφή υλικού. Μετακίνηση του ποντικιού στο τραπέζι, μετακινούμε ταυτόχρονα το βέλος του δρομέα στην οθόνη.

Υλικό διεπαφή - ποντίκι υπολογιστή. Φωτογραφία: Depositphotos.

Η διεπαφή φωνής είναι ο έλεγχος χρησιμοποιώντας εντολές ομιλίας. Η ανθρώπινη φωνή σήμερα γνωρίζει ακόμη και τα κινητά τηλέφωνα. Για παράδειγμα, ο Siri από την Apple, βοηθός φωνής της Google, "Alice" από το Yandex

Διασύνδεση φωνής - μήλο Siri. Το SIRI είναι μια μείωση από τη διεπαφή ερμηνείας και αναγνώρισης της ομιλίας (αναγνώριση ομιλίας και διεπαφή διερμηνείας). Φωτογραφία: Depositphotos.

Μια διεπαφή οργάνων σας επιτρέπει να δώσετε εντολές, κάνοντας χειρονομίες με το δάχτυλο, το χέρι, το ποντίκι του υπολογιστή, τον ειδικό ελεγκτή κλπ.

Interface εγκατάστασης - Κονσόλα παιχνιδιών Nintendo Wii, των οποίων οι ελεγκτές ανταποκρίνονται στην κίνηση του χρήστη.

Η απτική διεπαφή επιτρέπει στον χρήστη να βιώσει απτικές αισθήσεις (ώθηση, κραδασμούς κ.λπ.) και να αλληλεπιδράσει με τον υπολογιστή με τη βοήθειά τους.

Γάντια εικονικής πραγματικότητας - ένα παράδειγμα μιας απτικής διασύνδεσης. Φωτογραφία: NASA.

Η νευρική διασύνδεση σας επιτρέπει να μεταδίδετε εντολές με τα ηλεκτρόδια κουρασμένα στον εγκέφαλο. Οι αμφίδρομες νευρικές διεπαφές δεν μπορούν όχι μόνο να λάβουν πληροφορίες από τον εγκέφαλο, αλλά και να το στείλουν στον εγκέφαλο - για παράδειγμα, μέσω του αμφιβληστροειδούς του ματιού.

Jens Naumann - τυφλός, ικανός να "δει" με μια νευρική οπτική πρόθεση. Η κάμερα καταγράφει την εικόνα και στέλνει την επεξεργασμένη έκδοση στον οπτικό φλοιό του εγκεφάλου μέσω των ηλεκτροδίων.

Kian Rivz στην ταινία "Matrix" (1999). Οι ήρωες απολαμβάνουν το Neurointerface για να μπει στην εικονική πραγματικότητα - τη μήτρα.

Cybebeis - Διασύνδεση με τη μορφή της εικονικής πραγματικότητας. Πλαίσιο από τη φανταστική ταινία "Johnny Mnemonic" (1995)

Καλώς ήλθατε σε σας, φίλους! Η λέξη "διεπαφή" στη φήμη των ιδιοκτητών των υπολογιστών και των τηλεφώνων, αλλά δεν το καταλαβαίνουν όλοι. Θα πούμε για τσαγιέρες, ποια είναι η διασύνδεση στον υπολογιστή και το smartphone, γιατί χρειάζεται, τι συμβαίνει στο πώς να το χρησιμοποιήσετε σωστά. Βλέποντας αυτή τη λέξη στον ιστότοπο, στην περιγραφή ή στις οδηγίες, ο νεοφερμένος θα καταλάβει τι μιλάμε και τι να κάνουμε στη συνέχεια.

Κύμα

Ποια είναι η διασύνδεση για την οποία χρειάζεται

Μεταφράζεται από την αγγλική διεπαφή - αλληλεπίδραση. Πώς να γράψετε στα ρωσικά: Διασύνδεση (μερικές φορές οι υπέρβαλες είναι γραμμένες - είναι λανθασμένη). Ο κανονικός ορισμός είναι ένα κοινό όριο μεταξύ δύο λειτουργικών αντικειμένων. Για παράδειγμα, ένας άνδρας παίρνει πίσω από το τιμόνι του αυτοκινήτου του, αλλάζει το μοχλό του κιβωτίου ταχυτήτων - αυτή είναι η αλληλεπίδραση με το σύστημα διεπαφής του μηχανήματος. Κιβώτιο ταχυτήτων ως αγωγός μεταξύ οδηγού και αυτοκινήτου.

  • Στην επιστήμη των υπολογιστών, η έννοια της λέξης βαθύτερα είναι τα εργαλεία αλληλεπίδρασης χρηστών με το παιχνίδι, το πρόγραμμα ή το λειτουργικό σύστημα, οι μέθοδοι ελέγχου της λειτουργίας της μηχανής πληροφορικής. Χάρη στη διασύνδεση, ένα άτομο θα βρει οποιοδήποτε πρόγραμμα ή επεξεργαστή κειμένου. Εάν διαθέτουμε εργασία με τον επεξεργαστή γραφικών βαφής, είναι εύκολο να κυριαρχήσει άλλα παρόμοια προγράμματα, καθώς έχουν μια παρόμοια δομή.
  • Βασικές εργασίες διεπαφής:
  • πληροφορίες εισόδου και εξόδου.
  • Λογισμικό διαχείρισης.

ανταλλαγή δεδομένων μέσω εξωτερικών μεταφορέων ·

Εντολές.

Ο πίσω πίνακας της μονάδας συστήματος PC είναι επίσης μια διεπαφή που σας επιτρέπει να συνδέσετε άλλες συσκευές.

Ο χρήστης περιλαμβάνει έναν υπολογιστή και βλέπει τα εικονίδια μπροστά του: "Ο υπολογιστής μου", "ετικέτες", "φωτογραφία" κλπ. - όλα αυτά τα στοιχεία διασύνδεσης.

Τύποι διεπαφών

Η διεπαφή μπορεί να περιγραφεί σύντομα ως εκκαθάριση: τι βλέπει ένα άτομο μπροστά του, χρησιμοποιώντας έναν υπολογιστή ή ένα τηλέφωνο. Αν και στην πραγματικότητα, αυτή είναι μια δομή συστήματος, επειδή πατώντας τα κουμπιά κάνοντας κλικ στο στοιχείο μενού, ο χρήστης πηγαίνει στο σημείο όπου χρειάζεται: κάμερα, γκαλερί, επαφές, μηνύματα. Ο σκοπός του είναι μια αποτελεσματική, ευχάριστη χρήση μιας ηλεκτρονικής συσκευής ή μιας ιστοσελίδας.

Βίντεο.

  • Υπάρχουν διάφοροι τύποι διεπαφών, καθένα από τα οποία θα πούμε περαιτέρω.
  • Η πιο κοινή:
  • γραμμή εντολών;
  • Γραφική και διασύνδεση κειμένου.
  • ανά τύπο διαχείρισης (χειρονομία, φωνή, απτική και νευρική).
  • πρόγραμμα;
  • σκεύη, εξαρτήματα;
  • λογισμικό υλικού.
  • χρήστης;
  • Ιστός;
  • παιχνίδι;

υλικό;

Γραμμή εντολών

σε τηλέφωνα.

Ποια είναι η διασύνδεση απλά λόγια

Εάν πρέπει να ονομάσετε και να αναφέρετε τους τύπους σύγχρονων διεπαφών, αυτές οι πληροφορίες θα σας βοηθήσουν να ορίσετε τα πάντα σωστά και να κάνετε μια καλή παρουσίαση.

Αυτό είναι ένα ξεχωριστό λογισμικό που αποτελεί μέρος του userser και η εξασφάλιση της σχέσης μεταξύ του χρήστη και του λειτουργικού συστήματος. Χάρη στη γραμμή εντολών, μπορείτε να εκτελέσετε εντολές υπολογιστών. Αυτή είναι μια επικοινωνία με το μηχάνημα στη γλώσσα της.

Από τις ελλείψεις - πρέπει να γνωρίζετε τις εντολές, κάθε φορά που τους καλέσετε χωρίς ένα μόνο λάθος. Το πλεονέκτημα είναι η δυνατότητα εισόδου εντολών χωρίς τη συμμετοχή της γραφικής δομής, η οποία παρέχει πρόσθετες ευκαιρίες.

Η γραμμή εντολών (Interface Console) ξεκινά στο κέλυφος του, για παράδειγμα, στο BIOS. Η κύρια διαδρομή της θέσης του: C: \ Windows \ System32 \ cmd.exe. Το συνηθισμένο yowser δεν χρειάζεται να είναι σκόπιμη όταν βρίσκεται η γραμμή εντολών και πώς λειτουργεί και για επαγγελματίες είναι το κύριο εργαλείο, αφού βοηθάει στον υπολογιστή με ιούς, αποκατάσταση των Windows και σε άλλες περιπτώσεις.

Μια απλή μέθοδος για να βρείτε τη γραμμή εντολών: ταυτόχρονα πατήστε τα πλήκτρα Win + R, στο παράθυρο CMD που εμφανίζεται.

Διασύνδεση εντολών

Γραφικό και κείμενο

  • Γραφικό (ENG. Γραφική διεπαφή χρήστη, GUI) χρησιμοποιείται σε όλες τις λειτουργίες, στις περισσότερες εφαρμογές. Συχνά ονομάζεται Wimp - αυτή είναι μια συντομογραφία από τα πρώτα γράμματα της λέξης, εικονίδιο, μενού, συσκευή κατάδειξης (χειρισμό συσκευής).
  • Κύρια στοιχεία:
  • μενού;

τόπος αγώνων;

Εικονογράμματα (σχέδια, σχέδια).

Στα Windows Windows, ο χρήστης κάνει κλικ σε εικονίδια, εικονογράμματα που απεικονίζουν τα προγράμματα και τα αρχεία είναι μια γραφική διεπαφή, η οποία παρέχει άφθονες ευκαιρίες σε κάθε χρήστη. Δεν χρειάζεται να εισάγετε εντολές. Για βολική αλληλεπίδραση, χρησιμοποιείται ένα ποντίκι υπολογιστή.

Πρέπει να διακρίνετε το γραφικό από την οπτική διεπαφή, η οποία αντιπροσωπεύει το σύστημα ως σύνολο οπτικών εικόνων - μπορεί να είναι ένα εικονίδιο ή μια επιγραφή που βρίσκεται σε συγκεκριμένη θέση οθόνης. Η οπτική δομή δεν χρησιμοποιεί απαραίτητα γραφικές αντιστοιχίσεις. Η οπτική δομή μπορεί να είναι γραφική και κείμενο.

Το κείμενο χρησιμοποιεί κατά την είσοδο και την παροχή πληροφοριών, ένα σύνολο γραμμάτων / αριθμών, χαρακτήρων ψευδοχογραφικών. Χρησιμοποιεί όλα τα βασικά στοιχεία γραφικών στοιχείων: τα πλαίσια ελέγχου, τα κουμπιά που ρίχνουν λίστες κ.λπ. Διαφορετικές με μικρούς απαιτητικούς τεχνικούς πόρους, δεδομένα υψηλής ταχύτητας. Η διεπαφή κειμένου είναι ένας τύπος χρήστης, ενώ η γραμμή εντολών είναι μέρος του κειμένου.

Στην απλούστερη περίπτωση, η διασύνδεση κειμένου χρησιμοποιεί μια γραμμή εντολών, αλλά πολλά προγράμματα με διαδραστικά στοιχεία κάνουν ένα πιο φιλικό, κατανοητό σχεδιασμό, το οποίο πλησιάζει την ευκολία για γραφικά.

Ορισμένα προγράμματα υποστηρίζουν το αναπτυγμένο σύστημα παραθύρων, όπως το Turbo Vision, το D-Flat, το CSCape, πολλά έχουν μεταβλητά θέματα σχεδιασμού (DOS Navigator), καθώς και τη δυνατότητα χρήσης διαφορετικών στοιχείων αλληλεπίδρασης (joystick, ποντίκι).

Χειρονομώ, φωνή, απτική και νευρική

  • Ο χρήστης διαχειρίζεται τον υπολογιστή και δίνει εντολές με διαφορετικές μεθόδους: χειρονομίες, φωνή κλπ.
  • Επομένως, ο τύπος ελέγχου διακρίνεται:
  • Ετήσια διεπαφή. Τα στοιχεία επικοινωνίας είναι γραφικά δισκία, οθόνες αφής και άλλες τεχνολογίες που αντιδρούν στις κινήσεις των δακτύλων.
  • Η φωνητική διεπαφή υποδηλώνει τη διαχείριση ομιλίας. Παραδείγματα είναι: Siri από την Apple, Alice από το Yandex.

απτική όταν η αλληλεπίδραση βασίζεται σε απτικές αισθήσεις, λαμβάνοντας ευαίσθητα σχόλια (δόνηση, ώθηση).

Neuronal - μετάδοση εντολών μέσω ηλεκτροδίων κουρασμένων στον εγκέφαλο. Οι πληροφορίες μπορούν να ληφθούν από τον εγκέφαλο και να μεταδοθούν σε αυτό, για παράδειγμα, μέσω του ματιού αμφιβληστροειδούς. Στην πράξη, η Neurointerface είναι σε θέση να διευκολύνει τη διάρκεια ζωής των παραλυμένων ασθενών των οποίων ο εγκέφαλος λειτουργεί καλά. Το Neurointerface τους επιτρέπει να εκτελούν συγκεκριμένες δράσεις, διαβάζοντας τις προθέσεις τους με τη βοήθεια ηλεκτροδίων που συνδέονται με τον εγκέφαλο.

Γραφική διασύνδεση συστήματος

Λογισμικό, υλικό, υλικό και λογισμικό

  • Το σύστημα διασύνδεσης παρέχει επαφή ακόμη και μεταξύ των progs και των συσκευών.
  • Υπάρχουν 3 ομάδες:
  • Διεπαφή προγραμματισμού (Αγγλικά. Διεπαφή προγραμματισμού) είναι η αλληλεπίδραση των προγραμμάτων μεταξύ τους. Συγκεκριμένα, η διεπαφή προγραμματισμού API ή της εφαρμογής - μέθοδοι ανταλλαγής δεδομένων μεταξύ προγραμμάτων ηλεκτρονικών υπολογιστών (η μία αποστέλλει αίτημα στο API, άλλος απαντά). Η πύλη ειδήσεων παρουσιάζει νομίσματα. Όχι ο συντάκτης δεν είναι υπεύθυνος για αυτό (θα έπρεπε να αλλάξει χειροκίνητα τους αριθμούς) και το API στο οποίο ο ιστότοπος στέλνει ένα αίτημα στην ανταλλαγή νομισμάτων, λαμβάνει μια απάντηση.

Το υλικό έχει σχεδιαστεί για να αλληλεπιδρά τις φυσικές συσκευές μεταξύ τους με σχισμές, υποδοχές, πύλες. Το USB (καθολικό διαδοχικό ελαστικό) είναι το πιο γνωστό παράδειγμα. Μέσω του συνδέεται με το τηλέφωνο PC, την κάμερα, το ποντίκι.

Το λογισμικό υλικού είναι η αλληλεπίδραση των κόμβων, στοιχεία υπό έλεγχο προγράμματος.

Διεπαφή χρήστη

Ποιος ο χρήστης έρχεται σε επαφή ό, τι βλέπει μπροστά στον εαυτό του, όπου κάνει κλικ - αυτή είναι η διεπαφή χρήστη. Αυτό είναι το εξωτερικό μέρος της συσκευής ή το πρόγραμμα με το οποίο λειτουργεί ο χρήστης.

Συχνά, κάτω από τη διεπαφή λέξεων συνεπάγεται χρήστη (διεπαφή χρήστη). Συμβαίνει ότι ο επισκέπτης του ιστότοπου λέει: "Υπάρχει μια σύγχυση, δυσάρεστη εγγραφή ή μενού". Έτσι, ο ιστότοπος είναι άβολα να επικοινωνήσετε με: Είναι δύσκολο να βρείτε το σωστό στοιχείο, το checkout την παραγγελία, κατεβάστε το έγγραφο. Η κατανοητή δομή είναι όταν ένα άτομο βλέπει αμέσως πού να κάνει κλικ, ξέρει τι θα το προκαλέσει. Αλλά με τα Windows, πολλοί αρχάριοι έχουν προβλήματα, επειδή ο σχεδιασμός αυτής της έρευνας OS, οι άπειροι χρήστες συγχέονται στις ρυθμίσεις. Στην πλατφόρμα 1C, δύο διαφορετικοί μηχανισμοί διεπαφής χρήστη που χρησιμοποιούνται σε διαφορετικούς πελάτες 1C.

Γραμμή εντολών, γραφικά, κείμενο, φωνή, χειρονομία, απτική, νευρική, διαδικαστική - Όλα αυτά περιλαμβάνονται στη διεπαφή χρήστη. Υπό τον έλεγχό της, ο χρήστης εισάγει τα δεδομένα στον υπολογιστή, εμφανίζονται πληροφορίες σχετικά με την οθόνη, ο εκτυπωτής. Υπάρχει ακόμη και μια διεπαφή του υπολογιστικού φύλλου - αυτό είναι ένα στοιχείο που ένα άτομο βλέπει, να τρέχει, για παράδειγμα, την εφαρμογή OpenOffice.org Calc Calc.

Αλλά υπάρχουν κάποιοι περισσότεροι τύποι διεπαφής χρήστη.

Διασύνδεση υλικού

Web, παιχνίδι

Η διεπαφή ιστού είναι μια ιστοσελίδα (ένα ή ένα σετ) που αντιπροσωπεύει μια δομή για επαφή με ένα διακομιστή ή συσκευή μέσω ενός πρωτοκόλλου HTTP και ενός προγράμματος περιήγησης ιστού. Για παράδειγμα, ο πελάτης μπορεί να μεταβεί στη σελίδα της τραπεζικής, τις υπηρεσίες χρησιμότητας. Το κύριο πλεονέκτημα - δεν χρειάζεται να εγκαταστήσετε πρόσθετο λογισμικό, επειδή το λειτουργικό σύστημα πηγαίνει με το πρόγραμμα περιήγησης. Δεν χρειάζεται να συγχέεται με τη διεπαφή δικτύου. Σύμφωνα με τον όρο αυτό, θεωρείται ως εικονική ή φυσική συσκευή, η οποία προορίζεται να μεταδίδει δεδομένα μεταξύ προγραμμάτων μέσω ενός δικτύου υπολογιστών (για παράδειγμα, VLAN).

Ο δημοφιλής τρόπος για να δημιουργήσετε μια διεπαφή Web είναι η χρήση HTML με CSS και JavaScript'a. Χρησιμοποιείται επίσης Adobe Flash, Applets Java ή Silverlight.

Ένας άλλος τύπος είναι η διεπαφή παιχνιδιών - συνδέεται άμεσα με το gamedizayn, αν και υπερβαίνει την αρμοδιότητά του. Ο παίκτης και το παιχνίδι κατοικούν σε διαφορετικά σύμπαντα και η δομή τυχερών παιχνιδιών είναι το σημείο της αμοιβαίας επαφής τους. Με αυτό, ο gamer παίρνει τις απαραίτητες πληροφορίες από το παιχνίδι και παίρνει τις ενέργειες του παίκτη.

Υλικό

Το υλικό ή η απτική διεπαφή είναι ένας άλλος τύπος χρήστη. Αυτή είναι μια επαφή ενός ατόμου με ηλεκτρονικά με απτές δομές. Για παράδειγμα, ένα ποντίκι που κινείται το οποίο, ένα άτομο ταυτόχρονα μετακινεί το βέλος του δρομέα στην οθόνη.

Ποικιλίες διεπαφών

Διασύνδεση στα τηλέφωνα

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

  • Τα χαρακτηριστικά του σχεδιασμού του SIMP εξηγούνται από τις ιδιαιτερότητες του λειτουργικού συστήματος.
  • Το πιο κοινό OS για gadgets:
  • Android;
  • Apple iOs;
  • WindowsMobile;
  • Palm OS;

Symbian OS;

BlackBerry OS.

Η Ρωσία είναι δημοφιλής - Android, Apple iOS, WindowsMobile. Αλλά οι κατασκευαστές χρησιμοποιούν τους τύπους συστημάτων διασύνδεσης και μπλοκ, ο κύριος λόγος είναι η επωνυμία. Η ικανότητα του Android να προσαρμόσει σημαίνει ότι οι κατασκευαστές εταιρικών εξοπλισμών μπορούν να κάνουν αλλαγές στο λογισμικό, για παράδειγμα, στον τομέα της λειτουργικότητας και του σχεδιασμού.

Διαφορετικές συστηματικές δομές σε κινητές συσκευές δεν επηρεάζουν σημαντικά την εμπειρία των ιδιοκτητών, επειδή δημιουργούνται για την επίλυση καθολικών καθηκόντων. Διαφορά στο σύνολο των εφαρμογών.

Η διασύνδεση της κινητής συσκευής περιλαμβάνει επίσης υποδοχές ακουστικών, χρέωση, βοηθούς φωνής - μεγάλο μέρος του τι βασίζεται στο έργο του υπολογιστή, μόνο αυτό προσαρμόζεται για gadgets. Αλλά σε smartphones υπάρχουν πολλές νέες δομές, για παράδειγμα, NFC (NFS) - η δομή της ασύρματης επικοινωνίας.

Τι σημαίνει η γλώσσα διεπαφής

Δεν αξίζει να το αντισταθμίσετε με τις γλώσσες που είναι εγκατεστημένες κατά την πληκτρολόγηση υλικών κειμένου.

  • Η γλώσσα διεπαφής είναι αυτή που χρησιμοποιείται κατά τη φόρτωση των λειτουργιών, στο μενού, στα παράθυρα διαλόγου, σε παράθυρα και αναφορές σφαλμάτων. Μπορεί να αλλάξει εάν τουλάχιστον 1 επιπλέον μία είναι εγκατεστημένη στην κύρια γλώσσα.
  • Ένας απλός τρόπος για να μάθετε ποια γλώσσα των γλωσσών στέκονται σε έναν υπολογιστή:
  • Ανοίξτε τον "πίνακα ελέγχου".

Καρτέλα "Γλώσσα";

Διατίθεται η κύρια γλώσσα που χρησιμοποιείται τώρα. Μπορεί να αλλάξει ή να προσθέσει ένα νέο.

ευρήματα

Για ένα άτομο, η διασύνδεση αποτελεί τη βάση για την εργασία με έναν υπολογιστή ή ένα τηλέφωνο. Και αυτός είναι ένας τρόπος να αλληλεπιδράσουμε μεταξύ προγραμμάτων και εξοπλισμού. Η απλότητα της δομής του συστήματος εξαρτάται, είτε είναι εύκολο να διαχειριστεί τη συσκευή. Οι προγραμματιστές έρχονται με διαφορετικό σχεδιασμό και δομές, καθιστώντας τους περισσότερο ή λιγότερο ευχάριστο, διαισθητικό για τους ανθρώπους. Οι εμπειρογνώμονες πληροφορικής μπορούν να κάνουν αλλαγές σε ορισμένες δομές ή να τις χρησιμοποιήσουν για να λύσουν σοβαρά καθήκοντα και οι άπειροι χρήστες μπορούν να αγοράσουν για τον εαυτό τους τη συσκευή με ένα διαισθητικό σύστημα διασύνδεσης για να διευκολύνει το έργο και να εξοικονομήσει χρόνο.

Η διεπαφή συχνά λέγεται όταν σημαίνουν την αλληλεπίδραση ενός ατόμου και υπολογιστή ή εφαρμογών. Στο άρθρο θα αναλύσουμε τον ορισμό της διασύνδεσης, η οποία είναι για αλληλεπιδράσεις, τους τύπους και τα χαρακτηριστικά τους.

  • Ποια είναι η διασύνδεση

  • Η διεπαφή είναι ένας "αγωγός" μεταξύ του ανθρώπου και ενός προγράμματος, ενός λειτουργικού συστήματος, μιας τεχνικής συσκευής ή μιας μεθόδου αλληλεπίδρασης μεταξύ των εφαρμογών μεταξύ τους. Ένα άτομο δίνει εντολές χρησιμοποιώντας τη διασύνδεση, η συσκευή τους αναλύει και ανταποκρίνεται. Τα κύρια καθήκοντα για τα οποία προορίζεται για:

  • Εισάγετε και εμφανίζοντας πληροφορίες (ήχος, εικόνα).

  • Διαχείριση μεμονωμένων εφαρμογών ·

ανταλλαγή δεδομένων με άλλες συσκευές ·

Τύποι διεπαφών

Αλληλεπίδραση με το λειτουργικό σύστημα.

Γραμμή εντολών

Η διεπαφή περιλαμβάνει την αλληλεπίδραση όχι μόνο ανθρώπων και τεχνολογίας, αλλά και ένα πρόγραμμα υπολογιστή, πρόγραμμα προγράμματος, συσκευή υπολογιστή. Για παράδειγμα, όταν οι συσκευές είναι συνδεδεμένες στη μονάδα συστήματος του υπολογιστή, καθώς η μέθοδος αλληλεπίδρασης χρησιμοποιεί τη φίσα.

Ορισμένοι τύποι αλληλεπίδρασης σας επιτρέπουν να έχετε περισσότερο έλεγχο σε έναν υπολογιστή ή ένα smartphone, αλλά απαιτείτε πρόσθετες δεξιότητες. Άλλοι είναι πιο άνετοι, αλλά παρέχουν λιγότερες ευκαιρίες. Κάθε τύπος έχει τα δικά του χαρακτηριστικά.

Η γραμμή εντολών (Interface Console) ξεκινά στο κέλυφος του, για παράδειγμα, στο BIOS. Η κύρια διαδρομή της θέσης του: C: \ Windows \ System32 \ cmd.exe. Το συνηθισμένο yowser δεν χρειάζεται να είναι σκόπιμη όταν βρίσκεται η γραμμή εντολών και πώς λειτουργεί και για επαγγελματίες είναι το κύριο εργαλείο, αφού βοηθάει στον υπολογιστή με ιούς, αποκατάσταση των Windows και σε άλλες περιπτώσεις.

Μέσω της γραμμής εντολών, μπορείτε να εκτελέσετε τον μέγιστο αριθμό λειτουργιών είναι ένας άμεσος τρόπος επικοινωνίας με το λειτουργικό σύστημα. Για να πληκτρολογήσετε την εντολή, πρέπει να εισαγάγετε το κείμενο στον υπολογιστή και πατήστε Enter, ο υπολογιστής θα αρχίσει να εκτελεί.

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

Τα γραφικά απλοποιούν την αλληλεπίδραση με τον υπολογιστή, είναι πολύ πιο εύκολο να συνεργαστείτε με αυτό και πιο άνετα από ό, τι με το κείμενο. Στο ρόλο της γραφικής διεπαφής, τα στοιχεία αυτά είναι:

Στην απλούστερη περίπτωση, η διασύνδεση κειμένου χρησιμοποιεί μια γραμμή εντολών, αλλά πολλά προγράμματα με διαδραστικά στοιχεία κάνουν ένα πιο φιλικό, κατανοητό σχεδιασμό, το οποίο πλησιάζει την ευκολία για γραφικά.

Για παράδειγμα, όταν αλληλεπιδράστε με τα Windows χρησιμοποιεί εικονίδια και παράθυρα, το ποντίκι είναι συνδεδεμένο για να εισέλθει. Στο smartphone, η συσκευή εισόδου είναι μια οθόνη αφής.

Η διεπαφή κειμένου δεν χρησιμοποιεί τις εικόνες: Οι εντολές δίδονται χρησιμοποιώντας κείμενο και οι πληροφορίες παρέχονται σε μορφή κειμένου.

Η αλληλεπίδραση χειρονομίας σας επιτρέπει να δώσετε εντολές στις κινήσεις των δακτύλων. Εφαρμόζεται όταν εργάζεστε με οθόνη αφής ενός smartphone. Για παράδειγμα, η χειρονομία "UP" καθιστά το αναδυόμενο παράθυρο.

Η φωνητική διασύνδεση είναι μια φωνητική διαχείριση. Το gadget αναγνωρίζει και εκτελεί εντολές ήχου.

απτική όταν η αλληλεπίδραση βασίζεται σε απτικές αισθήσεις, λαμβάνοντας ευαίσθητα σχόλια (δόνηση, ώθηση).

Η απτική συνεπάγεται αλληλεπίδραση με τη βοήθεια της επαφής: δόνηση ή ευαισθησία στην πίεση.

Η νευρική διεπαφή μεταδίδει την εντολή απευθείας από τον εγκέφαλο στον υπολογιστή, γι 'αυτό, τα ηλεκτρόδια εμφυτεύονται στον εγκέφαλο. Χρησιμοποιείται στην ιατρική: έτσι ένα παράλυτο άτομο μπορεί να επικοινωνήσει με τον εξωτερικό κόσμο.

Το υλικό έχει σχεδιαστεί για να αλληλεπιδρά τις φυσικές συσκευές μεταξύ τους με σχισμές, υποδοχές, πύλες. Το USB (καθολικό διαδοχικό ελαστικό) είναι το πιο γνωστό παράδειγμα. Μέσω του συνδέεται με το τηλέφωνο PC, την κάμερα, το ποντίκι.

Η αλληλεπίδραση του προγράμματος ο ένας από την άλλη παρέχει μια διεπαφή λογισμικού. Τα προγράμματα στέλνουν αιτήματα μεταξύ τους και λαμβάνουν απαντήσεις. Για παράδειγμα, για να δείξετε συνεχώς σχετικούς καιρικές συνθήκες σε ένα widget ή σε έναν υπολογιστή, ένα πρόγραμμα στέλνει συνεχώς ένα αίτημα σε άλλο και παρέχει νέα δεδομένα.

Το υλικό προορίζεται για την οργάνωση επικοινωνίας μεταξύ φυσικών συσκευών μέσω συνδετήρων και υποδοχών. Και όταν ο υπολογιστής διαβάζει πληροφορίες από έναν σκληρό δίσκο - αυτή είναι μια κοινή εργασία του προγράμματος και της φυσικής συσκευής, δηλαδή τη διεπαφή υλικού και λογισμικού.

Όλοι, με τους οποίους ο συνηθισμένος χρήστης αλληλεπιδρά όταν περιλαμβάνει έναν υπολογιστή, εισέρχεται στον ιστότοπο ή στην εφαρμογή, όλα όσα βλέπετε ένα άτομο στην οθόνη είναι μια διεπαφή χρήστη.

Ιστός, περιοχή παιχνιδιών

Ο δημοφιλής τρόπος για να δημιουργήσετε μια διεπαφή Web είναι η χρήση HTML με CSS και JavaScript'a. Χρησιμοποιείται επίσης Adobe Flash, Applets Java ή Silverlight.

Η διεπαφή ιστού σάς επιτρέπει να εργάζεστε μέσω του προγράμματος περιήγησης. Αυτή είναι η αλληλεπίδραση των προγραμμάτων στο Διαδίκτυο. Για παράδειγμα, μπορείτε να μεταβείτε στην ιστοσελίδα του καταστήματος και να πληρώσετε τις αγορές. Το πρόγραμμα περιήγησης σε αυτή την περίπτωση θα είναι μια διεπαφή ιστού, χάρη στις οποίες αλληλεπιδρούν οι σελίδες.

Υλικό

Το παιχνίδι είναι ο τρόπος με τον οποίο ο χρήστης μπορεί να αλληλεπιδράσει με το παιχνίδι που μπορούν να δώσουν εντολές, σε ποια μορφή παρουσιάζονται οι πληροφορίες του παιχνιδιού και πώς το παιχνίδι θα απαντήσει σε ενέργειες.

Τι πρέπει να είναι η διασύνδεση

Αυτή είναι μια απτική επαφή με τα gadgets. Περιλαμβάνει αγγίζοντας οθόνη αφής, δράσεις με ποντίκι ή joystick.

Δομή δεδομένων λογικής βάσης δεδομένων (DDL).

Τα smartphones χρησιμοποιούν μια οθόνη αφής που συνεπάγεται χειρονομίες και απτικές διασυνδέσεις. Ο χρήστης αγγίζει τα στοιχεία, το λειτουργικό σύστημα ή η εφαρμογή λαμβάνει εντολές από αυτήν και τα εκτελέσει.

Добавить комментарий