Schnittstelle - Was ist solche einfachen Worte?

Schnittstelle - was ist das, was es braucht, Arten von Schnittstellen

4. Januar 2021.

Hallo, liebe Blogleser ktonanovenkogo.ru. In der Ära des Massencomputers ist es wichtig, mit den neuesten Trends Schritt aufrechtzuerhalten und ständig die Lücke in Wissen aufzufüllen.

Es ist wichtig, dass die Schnittstelle den Toren und den Kontext entspricht. Wenn dies das Wechselwirkung eines Spezialisten mit einem Computer ist, ist die Hauptsache die Möglichkeit, Informationen bereitzustellen und die Aufgaben zu erfüllen. Für einen gewöhnlichen Benutzer hat es nicht nur technisch, sondern auch ästhetischer Wert: Arbeiten damit, mit ihm angenehm und verständlich zu sein.

Sie möchten nicht auf die Notwendigkeit stoßen, zu stürzen? Heute halten wir uns an einen anderen Begriff, der mit dem PC verbunden ist.

Ich werde versuchen, so etwas als eine Schnittstelle zu erklären: Was ist und warum es notwendig ist. Also, lass uns anfangen.

Die Schnittstelle ist ...

Wie alle neu formulierten Phrasen kam das Wort "Interface" aus der englischen Sprache an uns. Übersetzte Schnittstelle Zeigt an. " Kontaktort. "

Die Schnittstelle ist ein Satz von Tools, mit dem der Benutzer mit dem Betriebssystem des Computers, einem mobilen Gerät oder anderen Arten von Geräten interagieren kann.

Die Schnittstelle ist ...

Als solche Werkzeuge Interaktionen können handeln:

  1. Textfelder;
  2. Knöpfe und Zecken;
  3. Dropdown-Listen;
  4. Popup-Tipps;
  5. Schalter;
  6. Elemente des Menüs des Programms oder der Site;
  7. und vieles mehr.

Um besser klar zu sein, welche Art von Früchte diese Schnittstelle ist, betrachten Sie ein visuelles Beispiel. Angenommen, Sie entscheiden sich für Urlaub in fernen Rändern und buchen ein Hotel im Voraus über das Internet.

Kommen Sie auf der Website, und dort erwarten Sie mehrere Schnittstellen: Suche, Anzeigen von Ergebnissen, Eingabe personenbezogener Daten, Zahlung. Während jeder Interaktionsphase mit der Hotelreservierungsstelle arbeitet der Benutzer mit Daten und führt bestimmte Aktionen aus.

Warum brauche ich eine Schnittstelle? Alles ist einfach, mehr denn je: Je bequemer, um das Programm, die Site und ein anderes Produkt, die glücklicheren Benutzer zu nutzen.

Mit der freundlichen Benutzeroberfläche können Sie auch den Umsatz an kommerziellen Standorten anheben, da Besucher die Registerkarte in den ersten Sekunden der Verwendung der Site nicht schließen.

Standorte mit gutem Design sind bei den Benutzern mehr beliebt, besuchter, und bringen daher das beste Einkommen an ihre Besitzer.

Arten von Schnittstellen

Die Schnittstelle ist üblich, um auf den folgenden Typen zu unterteilen:

  1. Befehlszeile . Dies ist der älteste und zeitaufwändige Weg, um zwischen dem Benutzer und dem Personal Computer zu interagieren. Gleichzeitig bleibt die Befehlszeile die zuverlässigste Art der Schnittstelle.
    Für Benutzer ist die Benutzeroberfläche die Grundlage für das Arbeiten mit einem PC oder einem Telefon. Von dem, wie einfach oder komplexes dieses Systems, der Komfort der Steuerung des Geräts hängt davon ab. Entwickler können Systemstrukturen für komplexe Aufgaben ändern. Unerfahrene Benutzer, es ist besser, Geräte mit einer klaren Benutzeroberfläche zu kaufen, um ihre Arbeit zu erleichtern.

    Die Kommunikation mit der Maschine erfolgt in seiner Sprache. Die Befehlszeile wird in Betriebssystemen verwendet, die für professionelle Benutzer bestimmt sind: zum Beispiel im BIOS.

  2. Grafische Schnittstelle . Dies ist genau das, was heute unter dem Wort "Interface" bedeutet. Es wird in allen Betriebssystemen, Programmen, Webseiten angewendet.
    Smartphone

    Mit einer grafischen Schnittstelle sind absolut alle PC-Benutzer konfrontiert. Für eine komfortablere Interaktion wird empfohlen, eine Computermaus zu verwenden.

  3. Zeichenschnittstelle . Die rasche Entwicklung von Technologien ist zu einem der Gründe für das Erscheinungsbild einer Gestenoberfläche geworden. Dazu gehören sensorische Bildschirme, Joysticks, Stift und andere Elemente.
  4. Sprachschnittstelle . Sprechen Der Phrase "OK, Google" und anschließend die Suchabfrage aussprechen, interagieren Sie mit der Sprachschnittstelle des Smartphone- oder Tablet-Betriebssystems.
    Befehlszeilenschnittstelle.

    Dieser Typ erschien auch in letzter Zeit dank der raschen Entwicklung von Technologien.

    Heute genießt es jedoch einen erheblichen Beliebtheit, da Sie ermöglichen, eine Reihe wichtiger Aufgaben zu lösen und Geräte zu verwalten (was ist es?) - Mobile Geräte, Autos, Haushaltsgeräte, Computer - mit Sprachbefehlen.

Was sollte die Schnittstelle sein?

Die Hauptaufgabe einer beliebigen Benutzeroberfläche - Leicht benutzen Spezifisches Programm, Site oder ähnliches Produkt.

Wenn Sie beispielsweise ein Webportal entwickeln, wird empfohlen Fokus auf folgende Elemente :

  1. Die optimale Anzahl angezeigter Elemente;
  2. Anpassungsfähigkeit an Desktop- und mobile Geräte;
  3. das Vorhandensein von Knöpfen von beliebten sozialen Netzwerken;
  4. Optimale Größe Symbole und Schaltflächen;
  5. bequeme Form der Registrierung;
  6. Intuitiver Speicherort der Menüpunkte;
  7. das Vorhandensein von Farb- oder Informationsakzenten;
  8. Suchsystem auf der Website;
  9. Bei Bedarf die Verfügbarkeit von Kontaktdaten.

Ein helles Beispiel einer durchdachten Schnittstelle ist ktonanovenkogo.ru. Auf der Website, eine gute Farblösung, ein intuitives Menü, das Vorhandensein der internen Suche, zeigen Artikel nach dem Veröffentlichungsdatum, was den Einsatz der Ressource schnell und angenehm macht.

Das ist alles, liebe Freunde. Jetzt wissen Sie, dass die Schnittstelle einfach spricht, die externe Hülle von Programmen oder Websites, was es erleichtert, sie zu verwenden.

Ich hoffe, dass Sie nach dem Lesen des Artikels keine Fragen mehr haben. Erlauben Sie Ihnen auf jeden Fall, Sie einladen, mit anderen Blog-Readern ktonanovenkogo.ru einzubringst.

Und um Wissen zu konsolidieren, schlage ich vor, ein Video über die neue Schnittstelle für Android aus Samsung anzusehen:

Viel Erfolg! Sehen Sie sich schnelle Meetings auf den Seiten von ktonanovenkogo.ru

Die meisten modernen Schnittstellen sind für erfahrene Benutzer konzipiert. Die Kräne wurden auch nicht sofort für alle vertraut gemacht. Zuvor wurden die Seiten des Schalters sicherlich rot und blau markiert - um klar zu sein, wo es kalt ist und wo heißes Wasser ist. Jetzt sind wir gewöhnt, und immer mehr Kräne werden ohne Kennzeichnung freigegeben. Wahrscheinlich erinnerten sie sich endlich, welche Seite, die fließt.

Mit Web-Schnittstellen war es ungefähr gleich. Zu Beginn von Null gab es einen Skiorphismus - die Grafiken, die die realen Weltobjekte imitierten. Wenn die Site der Knopf war, sah es aus wie eine echte volumetrische Taste. Es war verständlich für die meisten Menschen, die ihre ersten Computer kauften.

Aber der Moment kam, wenn neue Benutzer weniger geworden sind. Jeder, der mit einem Computer beginnen wollte, und das Internet wurde bereits in der Technologie beherrscht. Und der Bedarf an realistischen Schnittstellen verschwindet allmählich.

Anstelle des detaillierten "Menüs" -Symbols wird der sogenannte Burger normalerweise mit der Signatur - drei horizontaler Streifen verwendet. Und wir wissen vollkommen gut, was sie meinen. Wir wissen auch, dass Sites normalerweise von oben nach unten gelesen werden. Und brauchen keine Pfeile, um zu erklären. Moderne Schnittstellen sind für erfahrene Benutzer und prägnantgerechter ausgelegt.

Programme

Die Schnittstelle kann als eine Art Vertrag zwischen dem System und einer externen Umgebung betrachtet werden. Im Rahmen des Computerprogramms ist das System die Funktion oder das Modul, und die "Umgebung" ist der Rest des Projekts. Die Schnittstelle beschreibt offiziell, welche Daten zwischen dem System und der Umgebung übertragen werden können. Und "Implementierung" kann als "Minus-Schnittstellensystem" beschrieben werden. In Sprachen wie Haskell können Schnittstellen extrem spezifisch sein. Und in Sprachen wie Python sind sie im Gegenteil sehr gewöhnlich. Der ausgewählte Schnittstellentyp kann die Größe der erstellten technischen Schulden und der Leistung des Programmierers beeinflussen. Wie man berechnet, wird es unten geschrieben. Eine Methode wird auch zum Auswerten und Vergleichen verschiedener Schnittstellen vorgeschlagen. Basierend auf diesen Vergleiche können Sie sich auf die Verwendung des Sprach- oder Software-Tools beobachten.

Das wichtigste Konzept der Entwicklung von Software - Konzept

Schnittstelle

. In diesem Artikel handelt es sich nicht um Java-Schnittstellen, sondern über Schnittstellen in Softwaredesign. Und in geringerem Maße - auf Schnittstellen in der umliegenden Welt. Natürlich werden in der Entwicklung von Software viele andere wichtige Konzepte verwendet, aber ich glaube, dass die meisten von ihnen irgendwie von der Bedeutung der Schnittstelle sind.

Was ist die Schnittstelle?

Die meisten von uns sind mit zwei kurzen Formulierungen vertraut:

Die Schnittstelle ist ein Vertrag zwischen dem System und einer externen Umgebung. Die Schnittstelle ist ein Paarungssystem mit einer externen Umgebung.

Schnittstelle = System ∩ Umgebung

Definition mit der Paarung ist geeignet, wenn das System ein physisches Objekt ist. Beide Definitionen sind sehr abstrakt, also betrachten wir sie auf dem Druckbeispiel auf der Tastatur:

Hier ist das System ein Laptop, die Umwelt - Hände (sowie die Pfoten der Katze, die auf der Tastatur klettern). Folglich muss die Schnittstelle ein Teil der Wechselwirkung zwischen Händen und einem Laptop sein, der nur auf einige der Parteien nicht zugeschrieben werden kann, sondern nur auf beide. Normalerweise denken wir über die Hände, und die Tastatur ist getrennt, so dass die exakten Grenzen der Schnittstelle in diesem Fall Gegenstand des philosophischen Streits sind. Sie entscheiden: Ob es sich um die Tastatur als Ganzes oder einzelne Atome handelt, die miteinander interagieren, wenn die Finger und Tasten Kontakt aufnehmen.

Wahrscheinlich werden Sie überrascht, wie dieses Beispiel mit der Definition der Schnittstelle als Vertrag korreliert. In diesem Fall ist die Vereinbarung eine Vereinbarung, eine Vereinbarung, die damals genug Anstrengungen damit verbrachte, wenn sie sich an den Standort der Schlüssel erinnerten, und der Muskelspeicher wurde überarbeitet. Eine Reihe von Nuancen ist mit dem Vertrag verbunden. Durch Drücken und Halten des Schlüssels hat beispielsweise ein anderer Wert im Vergleich zu einer einfachen Einmalmaschine.

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

:

Add_numbers. 

UNSIGNED INT, UNTERNETT INT); VOID Andere_Function (void) {Add_numbers (3.4);} Unsigniert int ADD_numbers (vorzeichenlos int a, unsigniert int b) {Return A + B;} int main (void) {Add_numbers (9.99); Rückgabe 0;}

Wenden Sie die gleiche Farbdifferenzierungstechnik an

Hose

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Um die Umwelt zu beschreiben, System

und Schnittstelle:

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Das betrachtete System hier besteht aus einer Funktion

. Wenn Sie sagen, dass Sie als separates System-Hauptmethode betrachten können -

Andere_funktion.

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

- Dann wirst du richtig sein. Aber für die Einfachheit halber berücksichtigen wir eine Funktion

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

.

Isoliertes System. Es ist auch ratsam, einen Teil der Konvertierungsschnittstelle zu berücksichtigen

Wie Sie sehen, wird das vierte Konzept hier hinzugefügt: "Implementierung". Es ist ziemlich schwierig, das Thema von Schnittstellen zu diskutieren, ohne dass bestimmte Implementierungen berücksichtigt werden. Lassen Sie uns diesen Begriff definieren: Implementierung ist ein Minus-Schnittstellensystem. Implementierung = System ∖ Schnittstelle

Implementierung = System ∖ (System ∩ Umgebung)

Ich muss zugeben, dass ich noch nie eine solche Definition der Implementierung hatte. Dies ist jedoch eine unvermeidliche Erweiterung eines Satzes von Schnittstellendefinitionen, die eine Reihe von Vorteilen aufweisen. Wenn Sie ein armer Student sind und sich auf die Prüfung vorbereiten, ist Ihr Lehrer wahrscheinlich noch nie von dieser Definition gehört. Ich werde nicht überrascht sein, wenn es einer Taxonomie der objektorientierten Programmierung widerspricht. Aber auch in diesem Fall werde ich es nicht ändern. Lassen Sie die Fans des OOP ihre Abstracts in Übereinstimmung mit meiner Definition neu schreiben.

Es führt uns wiederum zur nächsten logischen Schlussfolgerung: Wenn wir über die Schnittstellen des physischen Systems sprechen, stellen wir uns in der Regel die "Implementierung" dieses Systems in Form eines einzelnen physischen Objekts vor. Schließlich wäre es seltsam, die "echte" Implementierung in Betracht zu ziehen, ohne Schaltflächen, Anzeigen oder andere Komponenten zu berücksichtigen. Und es drückt uns, die Schnittstelle als "Vereinbarung" in Betracht zu ziehen, und keine Kombination von physischen Objekten. Das heißt, in Form einer Reihe von Versprechen, Garantien oder so etwas wie ...

.

Vertrag zwischen dem System und der Umwelt

Schnittstelle als Vertrag

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Wenn Sie die Funktionsschnittstelle in Betracht ziehen

  • In Form eines Vertrags werden die Garantien so sein: All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion Funktion
  • All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion existiert. Es hat nur zwei Parameter, von denen jedes nicht signiert ist .
  • All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion int. Es hat nur zwei Parameter, von denen jedes nicht signiert ist .

Gibt nur einen vorzeichenlos zurück

  • Die Schnittstelle dieser Funktion erzählt uns nichts: All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion ;
  • Zur Unterbrechung der Ausführung All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion ;
  • Über die asymptotische Komplexität der Rangzeit All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion ;
  • Auf der Anzahl der zum Start erforderlichen freien Speicher Es hat nur zwei Parameter, von denen jedes nicht signiert ist ;
  • Über die spezifische Implementierung von nichtsigniertem

Auf Nebenwirkungen (Speicherzuweisung, Ändern von globalen Variablen).

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Die oben beschriebene Schnittstelle

unter der Art der Funktion bekannt

Prototyp.

. In früheren Versionen von K & R c wurde eine schwächere Beschreibung der Schnittstellen verwendet:

unsigniert int ADD_numbers ();

Die Definition der Schnittstelle als Vertrag ist sehr praktisch für die Programmierung. Schließlich bestehen die meisten Programmiereraufgaben bei der Bestimmung und Anforderung von Axiomensätzen. Primäre und endgültige Bedingungen bieten einige Eigenschaften oder Verhaltensweisen. Bevor zwei Parteien eine Geschäftsbeziehung miteinander binden, bereiten sie den Vertrag vor. Es formulierte das Endergebnis, den Betrag und den Zeitplan der Zahlung. Es legt auch die Bedingungen für vorzeitige Kündigung, Erstattung und Kosten vor. Wenn der Vertrag verletzt wird, konvertiert die Situation das Gericht oder das Schiedsverfahren. Wenn Sie jedoch etwas vergessen haben, um im Vertrag anzugeben, können Überraschungen auftreten.

Mit Computerprogrammen trotzdem. Module und Funktionen sagen, dass sie brauchen und (manchmal), was sie zur Rückkehr gegeben werden. Die Verletzung dieses Vertrags führt zu einem Kompilationsfehler, einem Ausführungsfehler, dem Ausfall der Anwendung, des Systems, der Qualitätskontrollwerkzeuge und der Führung des Handbuchs. Ich würde sogar sagen, dass die Definition der Schnittstelle als Vertrag nicht metaphorisch ist. Hier sind die gleichen Prinzipien wie im kommerziellen Vertrag, obwohl es nicht so detailliert ist.

Patente, Urheberrecht und Schnittstellen

Ich werde Ihnen keinen Rat in den Rechtsbericht geben. Vielleicht sagte etwas von mir, dass er sogar den Gesetzen widerspricht. Alles Folgendes ist die private Meinung des Autors.

Also, ich bin geneigt

buchstäblich

Betrachten Sie die Schnittstelle als "kommerzieller Vertrag" zwischen zwei Entitäten. Ich betee - ich halte es nicht als Metapher. Besonders befasste ich diese Interpretation von Spezialisten in der Theorie der Computermaschinen und der Copyright-Demonstranten.

Sollte das Interface-Patent? Angesichts seiner Definition als Vertrag zwischen dem System und der Umwelt glaube ich, dass der Einsatz von Patenten ein Fehler wäre. Und anscheinend unterstützt bestehende Rechtsprechung meine Position. Denken Sie jedoch daran, dass das Wort "Schnittstellen" sehr weit verbreitet ist, und oft in dem Sinne, wie oben beschrieben, wie ich oben beschrieben wird.

Soll ich die Schnittstelle durch das Urheberrecht schützen? Angesichts der "vertraglichen" Natur, glaube ich, dass der "Quellcode" der Schnittstelle das Objekt des Urheberrechts sein muss. Gleichzeitig sollte das Urheberrecht nicht auf die Aspekte der Schnittstellen angewendet werden, die sie besonders machen. Es reicht aus, um den Quellcode oder ein handgeschriebenes Bild zu schützen, aber keine Garantie oder Einschränkungen. Wenn die Garantie- oder Schnittstellenbeschränkungen von einem der Teile seines Codes untrennbar werden, sollten diese Teile das Recht des Schutzes beraubt werden.

Ich schlage einen einfachen Test vor, der es Ihnen ermöglicht, sich zu schätzen, ob es notwendig ist, sich mit dem Urheberrecht zu schützen.

Wenn Sie eine Art Attributset schützen möchten, einschließlich aller Komponenten von einem Dritten, in irgendeiner Weise, die von der Benutzeroberfläche verwendet wird, können Sie immer einen geeigneten Ersatz erstellen. Ersatz implementiert dieselbe Schnittstelle und erfolgreich in Software von einem Dritten, ohne Änderungen dieser Software selbst sowie ohne Verletzung eines Urheberrechts. Wenn ein Ersatz zu einem Urheberrechtsverletzungen führt, oder implizieren Sie das Ändern von Software von einem Dritten oder einer Verschlechterung der Funktionalität, dann ist das Attributsatz zu aggressiv und muss reduziert werden.

Ich glaube, dass es mit Hilfe dieses Tests ratsam ist, auch auf der Patentierbarkeit zu überprüfen. Bitte beachten Sie: Der Zweck des Tests besteht darin, extrem zu bestimmen

Inrapolition

Schutz des Urheberrechts oder des Patents. Er wird nicht helfen, das anzugehen

Folgen

Schutz schützen. Darüber hinaus ist dieser Test nur meine Meinung, und kein Regulierungsakt oder ein Gesetz.

Ich möchte auch beachten, dass ein Kriterium, das als Teil der Schnittstelle in derselben Sprache in Betracht gezogen wird, nicht in einer anderen Sprache ist. In Java beeinflusst beispielsweise das Verfahren zum Deklarationsfunktionen die Ausführung des Programms nicht. Wenn Sie versehentlich sagen, dass die Reihenfolge der Funktionen in der Datei keine Rolle spielt, ist dies ein Fehler in Bezug auf das Programm auf Python: 

Def foo (): drucken ("asdf") def foo (abc): drucken (abc) foo ("lol")

Alle diese Gespräche über die Gesetze erinnerten mich daran

Orakel gegen Google.

. Nach Angaben des angegebenen Links können Sie interessante Details für Entwickler finden, sodass ich mich in meiner Analyse auf sie verlassen werde. In Anbetracht aller Aspekte sehe ich nicht die Gründe, um mit der Entscheidung des Falls für Oracle nicht einverstanden zu sein. Ich kann nicht sagen, dass sie sie bedingungslos unterstützen, da wir nicht so viele Teile des Verfahrens zur Verfügung stehen.

Ich denke, viele besorgt, dass ein Präzedenzfall erstellt wird, wodurch die Elemente der Schnittstelle zum Schutz des Patents oder des Urheberrechts ermöglicht werden. Nur der Fall, in dem mein Test nicht bestanden würde. Das Bezirksgericht hat eine Entscheidung getroffen: "Die Struktur, Sequenz und Architektur der API können durch das Urheberrecht geschützt werden." Ich denke nicht, dass dies ein Problem ist, da die "Struktur, Reihenfolge und Architektur" in seiner Definition in seiner Definition vollständig meinen Test durchlaufen wird. Ich werde ein paar Ausschnitte aus dem Artikel auf dem oben genannten Link geben:

"Der Bezirksgericht kam zu dem Schluss, dass" Anzeigen für die Interaktion mit Java nur eine Möglichkeit zu schreiben. Wenn ja, unterliegt die Verwendung derselben Anzeigen nicht dem Urheberrecht. Google bestreitet nicht die Tatsache, dass sie ihre eigene APIs schreiben könnten, um Zugang zu Java, mit Ausnahme von drei. " Schließlich "in Google erkannte, dass sie buchstäblich Anzeigen kopierten."

Ich denke, das Gericht hat die richtige Entscheidung akzeptiert, wodurch die einzigartigen Eigenschaften der Schnittstelle nicht geschützt werden sollten. Darüber hinaus erkannte Google "wörtliches" Kopieren. Wenn dies das Copypasting bedeutet, einschließlich aller Lücken- und Rechtschreibfehler in den Kommentaren, betrachte ich es für eine Verletzung der Rechte. Selbst wenn die Schnittstelle nicht geschützt werden kann, sollte der Schutz des einzelnen kreativen Ausdrucks nicht stören.

Ich weiß nur über diesen Rechtsstreit aus offenen Netzwerkquellen, aber anscheinend hat der ursprüngliche Java-Code anscheinend vollständig in Google kopiert, einschließlich Schnittstellen. Es scheint, dass sie selbst glaubten, dass es notwendig war, ihren Einsatz von Java zu lizenzieren, da er die Verhandlungen über lizenzierende Vereinbarungen mit Sonne vor 2010 war. Diese Vereinbarungen fehlten jedoch, nachdem die Sonne von Oracle erworben wurde. Trotzdem nutzte Google weiterhin die "wörtlichen" Kopien des Codes, die eindeutig nicht in der Verhandlung nachgeht. Ich vermute, dass ihre Anwälte von der Schwäche ihrer Position wussten, so dass sie eine Schutzstrategie wählten, basierend auf der legitimen Nachfrage nach der Nichtverbreitung des Urheberrechts an Schnittstellen. Sie hofften, den Fall auf Kosten der Repräsentation der Schnittstelle in Form des Quellcodes und deren Verbindung mit einem philosophischen Konzept zu gewinnen.

Was ist "Modul" oder "Abstraktion"?

Mit dem Wort "Modul" in meinem Kopf gibt es ein Kapitalbild des Beitrags. Diese Abbildung zeigt gut, wie wichtig die Grenzen des Moduls und deren Interaktion mit der Umgebung ist. Die Cube-Schnittstelle begrenzt die Wechselwirkung der äußeren Umgebung mit dem Inhalt des Würfels. Sie können die Benutzeroberfläche nicht umgehen, sodass Sie die "Regeln des Spiels" darauf aufrechterhalten müssen. Schließlich gibt es nichts im Würfel, aber es spielt keine Rolle: Es ist wichtig, nicht der Inhalt, sondern eine Schnittstelle.

Ein anderes Beispiel: die Struktur der Zellmembran. Verschiedene Komponenten bieten nur die erforderlichen Substanzen durch die Membran und nur wenn es notwendig ist.

Im Rahmen dieses Artikels werde ich die Begriffe "Module" und "Abstraktion" als Synonyme verwenden. Natürlich ist das erklärende Wörterbuch nicht mit mir einverstanden, und selbst in verschiedenen Programmiersprachen haben diese Begriffe eine andere Bedeutung. In diesem Fall interessiere ich mich jedoch nur an der Tatsache, dass diese beiden Entitäten als System betrachtet werden können, da es in diesem Artikel verstanden wird. Das heißt, Abstraktionen und Module können aus einer Schnittstelle und Implementierung bestehen.

Sie können eine separate Funktion des Moduls im C, "Modul" - in Python, Klasse oder Paket in Java lesen. So etwas, wenn es nur eine externe Schnittstelle und eine "versteckte" Implementierung hatte. Darüber hinaus kann es eine Folge der Regeln der Sprache oder sogar die Entscheidung eines Programmierers geben.

Trocknung der Abstraktion.

Soweit ich weiß, die Idee

Dumpy-Abstraktionen geben Joel Spolski vor

. In seinem Essay gibt es einige gute Beispiele, aber ich möchte mein eigenes mitbringen. Bei der Programmierung ist das Konzept von "Maps" sehr oft angetroffen: Darstellung der Datenstruktur, die aus Tasten und Wertenpaaren besteht. Wichtiges Limit: Die Karte stellt sicher, dass alle Tasten eindeutig sein müssen. Ein Versuch, einen neuen Wert für einen vorhandenen Schlüssel aufzunehmen, führt zu einem Fehler oder überschreibt den vorherigen Wert. Die unterste Linie ist, dass die Tasten nicht dupliziert werden dürfen. Am häufigsten benötigen die Programmierer den Wunsch, alle diese Schlüssel zu sortieren. Und da die Karten keine bestimmte Reihenfolge der Sortierschlüsse garantieren können, ist es manchmal notwendig, sich zu wundern, in welcher Reihenfolge sie nach dem Busting sein werden? Dies ist die Folge der Tatsache, dass die Kartenschnittstelle keine Sortiergarantien erlaubt. Und obwohl es glaubt, dass es keine Rolle spielt, aber in der Praxis möchte ich immer noch sortieren. So ist es für eine effizientere Datenorganisation erforderlich, um beispielsweise die Überprüfung der vorhandenen Tasten zu erleichtern.

Die sortierte Datenruhekraft kann ein völlig anderes Ergebnis verglichen mit zufälligen Daten überwältigen. Angenommen, Sie müssen den Mindestwert in der Liste finden: 

min = null; list = map.getmapkeys (); für (Element in der Liste) {if (min == null) {min = item} else, wenn (Artikel <min) {min = min; / * Diese Zeile hat einen Fehler * /}}

Ast

Sonst wenn.

Es wird niemals ausgeführt, wenn die Daten aufsteigend sortiert sind. Selbst wenn Sie anfangen, von einem zufälligen Speicherort der Liste zu überprüfen, kollidiert das Programm niemals mit dieser Zeichenfolge. Dies ist ein großes Problem, da Sie, wenn Sie die Implementierung der Karte ändern, und es wird nicht sortierte Tasten zurückgesetzt, dann wird Ihr Code plötzlich auf einem Fehlerfehler ausgeführt. Und zu der Zeit werden Sie diesen Code vollständig vergessen und die Bombe darin versteckt.

Ich möchte meine eigene Definition von Abstraktionsablücken anbieten.

Das Abstraktionsleck (abstraktes Leck) wird als Situation bezeichnet, wenn die Implementierung die Umgebung beeinflussen kann, da sie nicht von der Schnittstelle bereitgestellt wurde.

Nach dieser Definition

Fast jede

Abstraktion - Atmung. Immerhin ist die Beschreibung in der Schnittstelle aller Arten von Umweltaufnahmen nur in den strengsten mathematischen Systemen sinnvoll. Und wie für physische Systeme, dann können Sie sich daran erinnern

.

Theorem Gödel über Unvollständigkeit

Die Idee der Löcher der meisten Abstraktionen ist nicht unvernünftig. Dies bedeutete Joel Spolski in seinem "dem Gesetz der undeckigen Abstracts":

"Alle nicht trivialen Abstraktionen sind in gewissem Maße ein Loch."

Sobald alle Abstraktionen sich lehnten, worüber man sprechen kann? Probleme ergeben sich nur, wenn ein Teil der Umwelt auf eine der unvorhergesehenen Expositionsweisen des Systems angewiesen ist. Es geht um solche Lecks, die jeder sagt.

Dies führt zu weitreichenden Konsequenzen, nicht nur aus der Sicht von gewöhnlichen Bugs, sondern auch im Bereich der Sicherheit. Mit physischen Systemen, in denen es Lecks in die äußere Umgebung gibt, kompromittieren die Sicherheit, den Begriff "

Seitenkanalanfall.

" In Kombination mit einer Erklärung, dass alle Abstraktionen der Löcher uns zum Schluss führt:

Jede physische Implementierung des Kryptosystems ist anfällig für Angriffe von Drittanbietern.

Angesichts all den oben genannten, kann diese Idee nicht nur auf physische, sondern auch auf emulierten Implementierungen verlängert werden.

Bewertung und Vergleich von Schnittstellen

Wie bereits oben gesehen, sind in Schnittstellen auf c Sätze wie der Typ des Rückgabewerts und der Anzahl der Parameter, die übertragen werden können, festgelegt. Was ist mit Python? Ich benutze den Begriff "Schnittstelle" gemäß dem Kontext des Artikels, dh in einem breiteren Sinne im Vergleich zu dem, was sie in den Büchern über "Schnittstellen" in Python schreiben. 

Def Add_numbers (A, B): Rendieren Sie A + BPRINT (ADD_Numbers (3,1)) drucken (add_numbers ("ABC", "DEF"))

In dieser Sprache müssen wir die Arten der Funktionsschnittstelle formalisieren. Es vereinfacht die Definitions- und Anruffunktion, da es notwendig, weniger Informationen zu verarbeiten. Andererseits sind Einschränkungen, auf denen Sie den Scheck für die Suche nach Fehlern weniger durchführen können.

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Ich denke, Sie brauchen etwas über die Beurteilung und den Vergleich verschiedener Merkmale der Schnittstelle aus der Sicht der Informationsübertragungsmethoden zu sagen. Sie können sowohl eine bestimmte Schnittstelle als auch einen Satz aller Schnittstellen auswerten, die in dieser Sprache implementiert werden können. Erinnern wir uns an unser Beispiel mit

Und wir schätzen, wie viele Informationen, die wir durch die Schnittstelle durchlaufen können, und umgehen, mit Hilfe von Abstraktionsabläufen. Über die Schnittstelle.
Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften. Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften.
Anzahl der möglichen Zustände Art des Parameters 1. 1 (unsigniert int) Zustand der globalen Variablen
(Anzahl der globalen Variablen) * (Anzahl der Zustände der globalen Variablen) Art des Parameters 1. Art des Parameters 2. Dateisystem
Anzahl der staatlichen Systemstatus Art des Parameters 1. Art des zurückgegebenen Werts Prozessor-Nutzungszeit.
Nicht limitiert Parameterwert 1. 2 ^ (zählen Sie in unsignierter Int) Bundesstaat Kuchi.
Anzahl der Staaten Parameterwert 1. Parameterwert 2. Viele andere ...
... Parameterwert 1.

Rückgabewert

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Und es gibt eine Reihe von Dingen, mit denen Sie kommunizieren können

über Python-Schnittstelle. Informationsübertragung über Python-Schnittstelle
Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften. Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften.
Anzahl der möglichen Zustände Übertragung der Informationen umgehen der Python-Schnittstelle 1 (unsigniert int) Dateisystem
(Anzahl der globalen Variablen) * (Anzahl der Zustände der globalen Variablen) Übertragung der Informationen umgehen der Python-Schnittstelle Art des Parameters 2. Prozessor-Nutzungszeit.
Anzahl der staatlichen Systemstatus Übertragung der Informationen umgehen der Python-Schnittstelle Art des zurückgegebenen Werts Bundesstaat Kuchi.
Nicht limitiert Übertragung der Informationen umgehen der Python-Schnittstelle 2 ^ (zählen Sie in unsignierter Int) Viele andere ...
Anzahl der Staaten Übertragung der Informationen umgehen der Python-Schnittstelle Parameterwert 2. Zustand der globalen Variablen
... Übertragung der Informationen umgehen der Python-Schnittstelle

Praktisch unendlich

Sehen Sie sich nun die Anzahl der Schnittstellentypen an, die wir in Haskell beschreiben können: 

Add_numbers :: int> int - Int -> intadd_numbers 3 4 = 7Main = Druck (Add_numberbers 3 4)

All dies sind neugierige philosophische Argumentation, aber wie beziehen sie sich auf die Schreibvorrichtung? Nun, lasst uns mit der Tatsache anfangen, dass die Schnittstellen in der Programmierung Sie von allen Seiten umgeben, auch wenn Sie nicht darauf achten. Wenn Sie beispielsweise auf Java programmieren, nennen Sie die Schnittstellen abhängig von ihrem Zweck explizit. In anderen Sprachen sind sie auch anwesend. Betrachten wir ein Beispiel für eine Schnittstellenfunktion

Angesichts dieses Codes, der Schnittstelle

Kann folgende Informationen erhalten: Übertragen von Informationen über die HASKELL-Schnittstelle
Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften. Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften.
Anzahl der möglichen Zustände Übertragung von Informationen über die Haskell-Schnittstelle Art des zurückgegebenen Werts Prozessor-Nutzungszeit.
(Anzahl der globalen Variablen) * (Anzahl der Zustände der globalen Variablen) Übertragung von Informationen über die Haskell-Schnittstelle 1 (int) Prozessor-Nutzungszeit.
Anzahl der staatlichen Systemstatus Übertragung von Informationen über die Haskell-Schnittstelle Effekt auf den Prozessor- / Speichercache Viele andere ...
Nicht limitiert Andere ...
Anzahl der Staaten 1 (Wert 3)
... 1 (Wert 4)

Mindestens 2 ^ 30 [1]

  • Für eine bestimmte Schnittstelle in Ihrer ausgewählten Sprache können Sie auch die Anzahl der einzigartigen Wege zur Übertragung von Informationen auswerten:
  • durch die Schnittstelle;

Indem Sie durch Abstraktionslecks um die Schnittstelle gehen.

  • Sie können auch auf Folgendes achten:
  • Wie viele Einschränkungen können Sie in dieser Sprache aus Sicht der minimalen und maximalen Anzahl von Informationen verwenden, die über die Schnittstelle übertragen werden;

Welche Instrumente liefern diese Sprache, um die Interaktion an den Schnittstellenbypass zu verhindern.

Programme
Lassen Sie uns auf diese Weise die grafische Benutzeroberfläche analysieren, in der die Ordner geändert werden können: Übertragung von Informationen über GUI
Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften. Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften.
Übertragung der Informationen umgehen GUI Klicken Sie auf Ordner 1 Anzahl der Pixel auf dem Bildschirm, der vom Ordner 1 * Anzahl der Klicks gehalten wird Prozessor-Nutzungszeit.
Versteckte Möglichkeiten Ui. Klicken Sie auf Ordner 2 Anzahl der Pixel auf dem Bildschirm, der vom Ordner 2 * Anzahl der Klicks gehalten wird Nicht-Standard-Kurzanrufkombinationen
Anzahl der Pixel auf dem vom Knopf belegten Bildschirm 2 Guidance Cursor zum Ordner 1 Anzahl der Pixel auf dem vom Ordner 1 gehaltenen Bildschirm 1 Viele andere ...
Andere unerwartete UI-Funktionen Guidance Cursor zum Ordner 2
Anzahl der Pixel auf dem vom Ordner 2 gehaltenen Bildschirm Zeit zwischen Anleitung und Klick
Unendlich Standard-Tastaturereignisse
Anzahl der Standardschlüsselkombinationen Bildschirmbereich von GUI besetzt

Anzahl der Pixel, die zur Anzeige von GUI verwendet werden

Und berücksichtigen Sie nun dieselbe Aufgabe, den Ordner mit der Befehlszeile und den Ordner zu ändern

:

Lassen Sie uns auf diese Weise die grafische Benutzeroberfläche analysieren, in der die Ordner geändert werden können: Übertragung von Informationen über GUI
Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften. Indem Sie die Benutzeroberfläche umgehen Beschreibung der Eigenschaften.
CD Prozessor-Nutzungszeit. Anzahl der Ordnernamen, die Sie wählen können Prozessor-Nutzungszeit.

Variabler Umgebung

In den vorherigen zwei Tabellen beinhaltete ich keine Daten, z. B. die Anzahl der Geräusche in das Signal. Wenn Sie die Komplexität der Wiederholung derselben Reihenfolge vergleichen, wenn Sie die Tasten (eins nach dem anderen) und der Mausbewegung (Pixel hinter dem Pixel) drücken, ist es offensichtlich, dass im zweiten Fall die Fehler viel mehr sind. In grafischen Schnittstellen wird dies durch weniger strenge Semantik kompensiert. Stellen Sie sich vor, wenn auf der Schaltflächen "OK" und "Abbrechen", die den Zonenklicks zur Verfügung stehen, nur 1 Pixelbreite waren.

Es ist möglich, die Analyse weiterzukomplizieren, wenn Sie die Änderung des Anteils von Fehlern bei Benutzern mit körperlichen Behinderungen bewerten.

  • Wir haben also eine der möglichen Möglichkeiten, um Schnittstellen zu bewerten und zu vergleichen. Basierend auf den obigen Beispielen und ihrer eigenen Erfahrung machen Sie mir mehrere Extrapolation:
  • Personen bevorzugen Schnittstellen, die beim Erhalt von Informationen nicht zu streng sind, insbesondere wenn die Schnittstelle nicht vertraut ist.
  • Nicht zu strengste Schnittstellen werden öfter falsch verwendet.
  • Umfassende Schnittstellen, die große Informationsmengen veranstalten, wirken stark, aber oft falsch verwendet.
  • Wenn die Interaktion langweilig wird, versuchen die Leute, Informationen an den Schnittstellenbypass zu übertragen.

Wenn Sie die Schnittstelle umgehen, durch Abstraktionsabläufe umgehen, ist die Entstehung unangenehmer Überraschungen äußerst wahrscheinlich.

Trocknende und begrenzte Schnittstellen

Ich werde mehrere Beobachtungen basierend auf der Analyse aus dem vorherigen Abschnitt beschreiben. Aber zuerst werde ich ein paar Definitionen geben:

Die leckere Schnittstelle (Leaky Interface) ist eine Schnittstelle, die während von Interaktionen zwischen dem System und der Umgebung ignoriert wird.

Eine begrenzte Schnittstelle (bestimmte Schnittstelle) ist eine Schnittstelle mit einer relativ kleinen Anzahl möglicher Ein- und Ausgänge.

Ein gutes Beispiel für eine begrenzte Schnittstelle -

stückweise angegebene Funktionen

Nur für eine kleine Anzahl von Eingabedaten definiert.

Wenn Sie die Interfaces "Löcher" oder "LISTITY" angemessen auswerten können, ist es sinnvoll, den Bereich zu skizzieren, an einem Ende, von dem an einem Ende sehr begrenzte und inaktive Schnittstellen sein wird, und andererseits - unbegrenzt und undicht.

Sie bieten wahrscheinlich jemanden, der nach links oder rechts auf der Waage bewegt wird, aber am wichtigsten ist, dass Sie die Idee ergriffen haben. Sie können sogar in zwei separate Waagen zerschlagen: je nach Grad an Löchern und Rigor. Obwohl diese beiden Konzepte im Allgemeinen gut korrelieren.

Die nächste Korrelation, die ich anbieten möchte, wird von meiner Erfahrung abgeleitet. Am linken Rand der "Error" -Waage sind die Skala weniger üblich, und normalerweise ergeben sie sich aufgrund von Misserfolgen

Validierung

.

. Am rechten Rand der Fehlerskala erfolgt häufiger, und oft liegt der Grund in den Ausfällen, wenn

Überprüfung

Asymptotische Komplexität der technischen Schulden

Ich beginne mit der Aussage:

Der Hauptteil der technischen Schulden ergibt sich im Projekt oder aufgrund der inakzeptablen Unterstützung bei der Leckage der Abstraktionen oder aufgrund der extrem unglaublichen Schnittstellen, die die Prognose der Folgen erheblich erschwert.

Das Projekt enthält zu Beginn ein oder zwei Module und um eine gute Schnittstellenvereinbarung zu studieren, müssen Sie die Anzahl der Arbeit auf (1) ausführen. Wenn Ihre Schnittstelle schlecht ist, ist das Volumen der technischen Schulden ebenfalls gleich (1), sodass Sie nicht zu viel Zeit dafür verbringen müssen, den Schnittstellenvertrag zu bringen. Mit einem linearen Anstieg der Module Menge kann jedoch das Volumen von intermodulischen Bindungen o (n ^ 2) erreichen. Wenn daher mit einer schlechten Schnittstelle jedes Modul mit allen anderen Modulen interagiert, ist die Anzahl der Anrufe an der Schnittstelle im schlimmsten Fall proportional bis n ^ 2.

Wie aus den Grafiken ersichtlich ist, wird es zunächst beim Erstellen einer durchdachten Schnittstelle gespeichert. Dieser Sieg ist jedoch aufgrund der zunehmenden Probleme, die mit der Interaktion von Inter-Module verbunden sind, schnell verloren. Die Arbeitsweise der Arbeit, die aufgrund dieser Module der Module erhöht wird, wächst er mit einer guten Schnittstelle linear. Das schlechteste Szenario - Wenn jedes Modul mit jedem Modul kommuniziert, gibt es im Prozess von Hendeshka mehr Probleme, von hier und stammt.

Typischerweise wächst der Niveau der intermodulischen Wechselwirkung langsamer als O (N ^ 2), ist jedoch definitiv schneller als etwa (n). Es gibt auch einen Faktor, der den Beginn des schnellen Wachstums in der Zukunft verlagert: Dies ist ein menschliches Gedächtnis. Selbst wenn es 20 Module in Ihrem Projekt gibt, erinnern Sie sich wahrscheinlich daran, dass jeder von ihnen führt. Also brauchen Sie also nur die nebeligen Namen von Funktionen und esoterischen Vereinbarungen. Sobald das Projekt ziemlich groß wird, werden viele Details vergessen oder wenn neue Leute zum Projekt kommen - und das mächtige Wachstum der Arbeitskosten beginnt.

  • Warum verwenden Sie immer noch die Befehlszeile?
  • Sie erhalten verschiedene Antworten von Personen auf diese Frage, von denen keiner das Wichtigste scheint:
  • Die Befehlszeile ist flexibel und gibt viele Möglichkeiten.

Es verbraucht weniger Ressourcen.

Dadurch können Sie besser verstehen, wie alles funktioniert.

Das Wichtigste ist, warum wir immer noch die Befehlszeile verwenden, es ist

AUTOMATISIERUNG!

Es ist kaum möglich, die Vorteile der Verwendung von automatisierten Prozessen zu überschätzen. Wenn ich einen Cluster auf 100 Server ausführen muss, bin ich nicht individuell mit jedem von ihnen eine Verbindung herstellen und Software manuell installieren, indem Sie auf einen Tastenstapel in unzähliger GUI klicken. Selbst wenn Sie den Klischeanprozess in der GUI automatisieren müssen, benötigen Sie eine andere Datei, in der Informationen dort gespeichert werden, wo und wie Sie klicken möchten. Etwas wie eine flexible Datei ... Teams.

Obwohl wir die Automatisierung über Klick- und Bildschirmträger implementieren konnten, dürfen wir nicht vergessen, dass diese Art der Interaktion mit der Maschine für Personen erfunden wird. Es impliziert die Verwendung einer nicht strikten Schnittstelle, die keine hohe Genauigkeit erfordern. Daher wird Ihr automatisierter Clicker sicherlich verwendet, wenn sich das Fenster plötzlich von seiner Position bewegt oder die Systemart ändert. Mit der GUI sind zu viele Variablen verbunden. Durch die Befehlszeile können Sie viel genauer handeln, Sie interagieren über eine sehr strikte Schnittstelle. Daher mögen viele Menschen ihn nicht, im Gegensatz zu Computerprogrammen.

Natürlich gibt es Situationen, in denen die geringe Genauigkeit der Wechselwirkung von GUI gut ist. Wenn Sie zum Beispiel digitale Gemälde erstellen, müssen Sie sich nicht um die Platzierung und Farbe jedes Pixels kümmern. Die Hauptsache ist es zu sein

etwas

Besonderes für jedes Pixel. Daher wird das von der Hand übertragene Rauschen im Endprodukt wichtige Informationen.

Wahl der richtigen Sprache

Nach dem Abschnitt über die asymptotische Komplexität der technischen Schulden denken Sie möglicherweise, dass jedes Projekt in einer Sprache mit sehr strengen Bedingungen von Schnittstellenverträgen wie Haskell oder Java verfasst werden muss. Aber das ist nicht genau das, was ich vermitteln wollte. Die Antwort auf die nächste Frage kann Ihnen helfen, die richtige Wahl zu treffen.

Wie wahrscheinlich die Anforderungen für Ihr Projekt ändern?

Zu Beginn des neuen Falls wird die Antwort sicherlich "sehr wahrscheinlich" sein, insbesondere wenn ein kleines Produkt erstellt wird, und sogar mit der Mehrdeutigkeit seiner Perspektiven auf dem Markt. Wenn die Anforderungen eindeutig formuliert werden, beispielsweise bei der Erstellung eines Compilers oder einer Entwicklung eines Projekts, das auf internationalen Standards basiert, wird die Antwort sicherlich "nicht zu wahrscheinlich" sein.

Wenn Sie "Sehr wahrscheinlich" beantwortet haben, verwenden Sie eine Sprache, mit der Sie beim Angeben der Schnittstellenverträge weniger Zeit verlieren können: Sie werden sicherlich gegen Sie bei Änderungen der Anforderungen arbeiten. Die Hauptaufgabe hier ist jedoch nicht, die ideale Implementierung der Anforderungen nicht zu erhalten, sondern auch die idealen Anforderungen, die Sie ermöglichen

beginnen

Endgültige Implementierung erstellen. Eine Ausnahme kann eine Situation sein, in der Ihr MVP ein riesiges System mit Hunderten von Modulen ist. Wenn viele Leute an dem Projekt beteiligt sind, ist eine gute Benutzeroberfläche einfach notwendig, damit sie zueinander kommen.

Wenn Sie mit "nicht zu wahrscheinlich" beantwortet haben, verwenden Sie eine Sprache mit sehr strengen Schnittstellenverträgen. Zuerst müssen Sie mehr arbeiten, aber dann erfordert die Einführung neuer Möglichkeiten weniger Anstrengungen. Die einzige Ausnahme kann eine Situation sein, wenn Sie ein kleines Produkt (mehrere hundert Saiten) schreiben.

Irgendwann war ein paar Kopien gebrochen, was Twitter anfing, auf Rubin auf Rails zu schaffen, und dann war es der Grund für die Skalierung des Projekts. Später wurde Twitter in Scala übersetzt. Jemand kann davon ausgehen, dass die Entwickler einen Fehler gemacht haben, und sie sollten sofort Scala wählen. Ich glaube nicht. Im Herzen von Twitter liegt eine sehr einfache Idee, und unter den Bedingungen einer großen Anzahl von Wettbewerbern mussten sie die dominierende Position auf dem Markt gewinnen. Sie mussten trotz der Ausgaben so schnell wie möglich wachsen. Die Entwicklungszyklen neuer Funktionen sollten am schnellsten wie möglich bestanden haben, da es in kürzester Zeit ermöglicht, zu verstehen, was genau Benutzer braucht, welches Produkt sie gewünscht haben. Die Schwierigkeiten der Skalierung sind ein Zeichen für nicht Misserfolg, sondern Erfolg. Twitters Vision wurde als fertiges Produkt formuliert, und es blieb es nur, es zu erkennen. Aus Sicht der Entwickler ist es nur ein Nirvana, jeder träumt von so etwas, aber nur wenige Menschen schaffen es, an solchen Bedingungen zu arbeiten: "Relegieren Sie diese Scheiße von Grund auf Ihre Lieblingssprache, da es nur für Sie günstig ist In der Zukunft war es einfacher, mit ihm zusammenzuarbeiten. " Es ist viel einfacher, etwas von Grund auf neu zu schreiben, mit einer schwächeren Umsetzung vor unseren Augen zu sein, als zu versuchen, einen Produkt-Look hinzuzufügen, wodurch das Unternehmen abheben kann. Leider geht die Mehrheit der Marktteilnehmer nur durch Vermeidung von "unnötigen" Kosten, um von Grund zu erstellen und viel Kraft und Zeit beim Skalieren auszugeben, dass sie ursprünglich nicht skaliert wurde.

Warum ist so beliebter Python?

In dem Abschnitt an den Löchern und strengen Schnittstellen sprach ich über die Methode der Klassifizierung von Schnittstellen, abhängig von ihrer Tendenz bis hin zu Dichten von Abstraktionen sowie wie strikte Definition von Schnittstellendefinitionen. Und ich hat darauf hingewiesen, dass mehr "freundliche" und "produktive" Schnittstellen viel anfälliger als der andere Teil des Schnittstellenspektrums sind.

Ich glaube, dass Pythons Popularität aus der Tatsache ergibt, dass es sich um eine hervorragende Einführungssprache handelt, die extrem einfache Schnittstellenverträge bietet. Aus demselben Grund wird es mit einer Erhöhung des Projekts auf Python immer schwieriger.

Python ist in der wissenschaftlichen Gemeinschaft sehr beliebt und unter dem Liebhaber-Experiment mit numerischer Analyse. Die Essenz des Experiments erfordert eine ständige Verbesserung des erstellten Produkts, und strenge Schnittstellen verlangsamen.

Warum schreibt Unternehmenssoftware normalerweise auf Java / C ++?

Im Abschnitt über die Löcher und strengen Schnittstellen sprach ich über Kompromisse, die mit verschiedenen Arten von Schnittstellen verbunden sind. Java und C ++ sind eher zum strengen Teil des Spektrums, im Gegensatz zu Python oder Rubin. Ja, Leckagen können Leckagen aufweisen, und es gibt strengere Sprachen (derselbe Haskell), aber Java und C ++ sind aus Sicht der Skalierbarkeit, Freundlichkeit und Texte ausgewogener. Darüber hinaus ermöglichen es Ihnen, dass diese beiden Sprachen flexibel sein, um die Sätze der Schnittstellen abhängig von den Projektabkommen zu steuern. B. Variablen oder Funktionen mit privatem, öffentlichem oder geschützten Funktionen herstellen.

Wie man die Ecken schneidet

Wenn Sie etwas aus diesem Artikel mitbringen möchten, bitte: Wenn Sie Ecken in das Projekt senken müssen, tun Sie es im Inneren

Der Umsatz

und dreh um B.

  • sehr guter
  • Schnittstelle. Auch wenn die Implementierung nicht zu gut ist und seine Probleme in andere Teile des Systems fließen, ist dies ein schlechte Schnittstellenproblem! Damit es kein Missverständnis gibt, lassen Sie die Liste dessen, was ich unter den Schnittstellen meine:
  • Prototypen der Funktionen.
  • Java "Schnittstellen".
  • Öffentliche Klassenmethoden.
  • Variablen der öffentlichen Komponenten.
  • Header-Dateien (.h) in C / C ++.
  • Erholsame API-Endpunkte.
  • URL-Routing.
  • Öffentliche Aspekte von "Modellen" oder "Pakete".

Logik-Datenbankstruktur (DDL).

Und vieles mehr.

Fazit

Wie Sie sehen, ist das Schnittstellenkonzept äußerst wichtig und hat einen sehr großen Einfluss auf die Entwicklung des Projekts im Bereich Rechtsschutz, Produktivität und die Anzahl der philosophischen Beziehungen mit anderen Aspekten der Systemstruktur. Fragen Sie andere Programmierer, dass sie über Schnittstellen nachdenken, und hören Sie alle möglichen Dinge.

Die Benutzeroberfläche ist das Mittel zur Wechselwirkung zwischen Mensch und einem Computer. Mit einfachen Worten spricht die Schnittstelle der externe Teil des Programms oder das Gerät, mit dem der Benutzer arbeitet. Die Wortschnittstelle - Kartusche mit englischer Schnittstelle, dh der "Rand-Link".

Am häufigsten impliziert unter der Wortschnittstelle die Benutzeroberfläche. Beispielsweise sagen sie: "Dieser Online-Shop verfügt über eine unbequeme, verwirrende Benutzeroberfläche." Dies bedeutet, dass der Laden unbequem ist, um zu interagieren. Zum Beispiel ist es schwierig, die notwendigen Waren zu finden, es ist nicht klar, wie Sie eine Bestellung aufgeben, die Website speichert nicht die zuvor eingegebenen Daten usw.

Anwendungsbeispiele:

Viele Benutzer möchten die alte Schnittstelle "VKontakte" zurückgeben, sie mögen das Neue nicht.

Das Programm verfügt über eine intuitive Benutzeroberfläche - sofort löschen, wo er drücken soll und was es dazu führt.

Die Windows-Schnittstelle ist sehr kompliziert: Unerfahrene Benutzer werden in einem Stapel von Einstellungen verwechselt.

Web-Interface ist eine Seite im Internet, mit der der Benutzer mit einem bestimmten Dienst oder Gerät direkt über den Browser interagieren kann. Beispielsweise können Sie mit der Webschnittstelle die Online-Bank verwenden: Gehen Sie zur Bank-Seite, geben Sie das Login und das Kennwort ein und übersetzen Sie dann Geld zwischen Konten, Bezahlung für Dienstleistungen usw.

Hardware- und Softwareschnittstelle. Was ist die USB- und API-Schnittstelle? Neben der Benutzeroberfläche gibt es eine Software-Schnittstelle (Interaktion von Programmen miteinander) und Hardware-Schnittstelle (Methoden zur Wechselwirkung physikalischer Geräte, "Eisen"). Wenn sie über die Hardware-Schnittstelle sagen, bedeuten sie normalerweise Anschlüsse, durch die die Geräte miteinander verbunden werden können. Zum Beispiel bedeutet "Verbindung über die USB-Schnittstelle" Verbindungsvorrichtungen durch

Universeller sequentieller Reifen

bestimmt zum Anschließen der peripheren Ausrüstung. Über einen USB, zum Beispiel können Sie eine Tastatur, eine Maus, eine Kamera oder ein Smartphone an einen Computer anschließen.

Hardware-Schnittstelle - USB-Kabel

Die Programmschnittstelle ist ein Weg, um Programme untereinander zu interagieren. Beispielsweise ist die API (Anwendungsprogrammierschnittstelle, die Anwendungsprogrammierschnittstelle) ein Satz von Befehlen, mit denen Programme, um Daten ohne Beteiligung der Personen automatisch auszutauschen können. Ein API-Programm sendet eine Anfrage, ein anderer antwortet auf sie.

Zum Beispiel zeigt sich auf der News-Site Währungsraten, die sich in Echtzeit ändern. Dies bedeutet nicht, dass der Site-Editor jedes Mal die Zahlen auf der Seite manuell ändert. Die News-Site selbst sendet eine API-Anforderung an einen Server mit Wechselstube und erhält die erforderliche Zahlen von dort.

Arten von Benutzeroberflächen. Grafik, Text und andere

Die Textschnittstelle ist ein Weg, um eine Person mit einem Computer mit dem Befehlsdruck zu kommunizieren. In dem MS-DOS-Betriebssystem wurde beispielsweise in dem MS-DOS-Betriebssystem Textual - der Benutzer wählen Sie die erforderlichen Befehle auf der Tastatur, und die Maschine ergab sie.

MS-DOS-Textschnittstelle - Befehlszeile

Das Problem der Textschnittstelle ist, dass der Benutzer die erforderlichen Befehle kennen muss und jedes Mal sie manuell ohne Fehler eingibt. Teilweise aus dieser Schwierigkeit eliminierte die Hülle für MS-DOS - zum Beispiel Norton Commander.

Norton Commander - Dateimanager für MS-DOS. Sie können nicht nur Befehle auf der Tastatur eingeben, sondern mit Dateien mit Tastaturkombinationen mit den Dateien arbeiten.

Bald erscheint grafische Schnittstellen, in denen der Benutzer mit visuellen Objekten interagiert: Tasten, Symbole, Bilder auf dem Bildschirm. Windows-Betriebssystem verwendet eine grafische Schnittstelle: Der Benutzer klickt auf die Symbole auf Symbolen - Piktogramme, die Dateien und Programme darstellen.

Windows 3.11 Grafische Schnittstelle

Die Materialschnittstelle ist ein Weg, um mit einem Computer mit materiellen Strukturen zu interagieren. Beispielsweise ist eine Computermaus oder ein Joystick eine materielle Schnittstelle. Bewegen der Maus auf dem Tisch, bewegen wir den Cursor-Pfeil gleichzeitig auf dem Bildschirm.

Materialschnittstelle - Computermaus. Foto: Depositphotos.

Die Sprachschnittstelle ist die Steuerung mit Sprachbefehlen. Die menschliche Stimme kennt heute sogar Mobiltelefone. Zum Beispiel Siri von Apple, Google Sprachassistent, "Alice" von Yandex

Sprachschnittstelle - Apple Siri. SIRI ist eine Reduzierung von Sprachinterpretations- und Erkennungsschnittstelle (Spracherkennung und Interpretationsschnittstelle). Foto: Depositphotos.

Mit einer Instrumentenschnittstelle können Sie Befehle angeben, indem Sie Gesten mit dem Finger, Hand, Computermaus, speziellen Controller usw. herstellen.

Installationsschnittstelle - Nintendo Wii Game Console, deren Controller auf die Bewegung des Benutzers reagieren.

Die taktile Schnittstelle ermöglicht es dem Benutzer, taktile Empfindungen (Push, Vibration usw.) zu erleben und mit dem Computer mit ihrer Hilfe interagieren.

Virtual Reality-Handschuhe - ein Beispiel für eine taktile Schnittstelle. Foto: NASA.

Mit der neuronalen Schnittstelle können Sie Befehle mit den in das Gehirn getrennten Elektroden übertragen. Bidirektionale neuronale Schnittstellen können nicht nur Informationen aus dem Gehirn ergreifen, sondern auch an das Gehirn schicken - zum Beispiel durch die Retina des Auges.

Jens Naumann - blind, fähig mit einer neuronalen visuellen Prothese. Die Kamera erfasst das Bild und sendet die verarbeitete Version in die visuelle Rinde des Gehirns durch die Elektroden.

KIAN RIVZ im Film "Matrix" (1999). Helden genießen neuropeface, um in die virtuelle Realität zu gelangen - die Matrix.

Cybebeis - Schnittstelle in Form von virtueller Realität. Rahmen aus dem fantastischen Film "Johnny Mnemonic" (1995)

Willkommen bei Ihnen, Freunden! Das Wort "Schnittstelle" auf dem Gerücht der Besitzer von PCs und Telefonen, aber nicht jeder versteht es. Wir fordern uns für Teekannen, was ist die Schnittstelle im Computer und das Smartphone, warum es benötigt wird, was passiert, um es richtig zu verwenden. Wenn Sie dieses Wort auf der Website sehen, in der Beschreibung oder in den Anweisungen wird der Newcomer, über den wir sprechen, und was als nächstes tun soll.

Welle

Was ist die Schnittstelle, für die es braucht?

Übersetzt aus der englischen Benutzeroberfläche - Interaktion. Wie schreibe ich in Russisch: Schnittstelle (manchmal sind die Infa geschrieben - es ist falsch). Normale Definition ist eine gemeinsame Grenze zwischen zwei Funktionsobjekten. Zum Beispiel wird ein Mann hinter das Rad seines Autos, wechselt den Getriebehebel - dies ist Interaktion mit dem Maschinenschnittstellensystem. Getriebe als Leiter zwischen Fahrer und Auto.

  • In der Informatik ist die Bedeutung des Wortes tiefer die Benutzerinteraktionswerkzeuge mit dem Spiel, des Programms oder des Betriebssystems, der Methoden zur Steuerung des Betriebs der Rechenmaschine. Dank der Schnittstelle ermittelt eine Person ein Programm oder einen Text-Editor. Wenn wir mit dem Lackgrafik-Editor arbeiten, ist es einfach, andere ähnliche Programme zu beherrschen, da sie eine ähnliche Struktur haben.
  • Grundlegende Schnittstellenaufgaben:
  • Eingabe- und Ausgabeinformationen;
  • Management-Software;

Datenaustausch durch externe Träger;

Befehle

Die Rückseite der PC-Systemeinheit ist auch eine Schnittstelle, mit der Sie andere Geräte anschließen können.

Der Benutzer enthält einen Computer und sieht die Symbole vor ihm: "Mein Computer", "Etiketten", "Foto" usw. - Alle diese Schnittstellenelemente.

Arten von Schnittstellen

Die Schnittstelle kann kurz als Freigabe beschrieben werden: Was eine Person vor ihm sieht, unter Verwendung eines PCs oder eines Telefons. In der Tat ist dies in der Tat eine Systemstruktur, denn durch Drücken der Tasten, indem Sie auf den Menüpunkt auf den Menüpunkt klicken, geht der Benutzer an, wo er benötigt: Kamera, Galerie, Kontakte, Nachrichten. Sein Zweck ist eine wirksame, angenehme Verwendung eines elektronischen Geräts oder seiner Site.

Video.

  • Es gibt verschiedene Arten von Schnittstellen, von denen alle weiter erzählen werden.
  • Das Üblichste:
  • Befehlszeile;
  • Grafik- und Textschnittstelle;
  • nach Art des Managements (Gestikulieren, Stimme, taktil und neuronal);
  • Programm;
  • Hardware;
  • Hardware Software;
  • Nutzer;
  • Netz;
  • Spiel;

Material;

Befehlszeile

in Telefonen.

Was ist die Schnittstelle einfache Wörter?

Wenn Sie die Arten moderner Schnittstellen nennen und auflisten müssen, hilft diese Informationen dazu, alles richtig festzulegen und eine gute Präsentation zu erstellen.

Dies ist eine separate Software, die Teil des Oursers ist und die Beziehung zwischen dem Benutzer und dem Betriebssystem sicherstellt. Dank der Eingabeaufforderung können Sie Computerbefehle ausführen. Dies ist eine Kommunikation mit der Maschine in seiner Sprache.

Von den Mängeln müssen Sie die Befehle kennen, wenn Sie sie ohne einen einzelnen Fehler wählen. Der Vorteil ist die Möglichkeit, Befehle ohne Beteiligung der Grafikstruktur einzugeben, was zusätzliche Möglichkeiten ergibt.

Die Befehlszeile (Konsolenschnittstelle) beginnt in seiner Hülle, beispielsweise in BIOS. Der Hauptweg des Standorts: C: \ Windows \ system32 \ cmd.exe. Der übliche YOWSER muss nicht absichtlich sein, wenn sich die Befehlszeile befindet und wie es funktioniert, und für Fachleute ist es das Hauptwerkzeug, da er mit dem Computer mit Viren, Windows-Restauration und in anderen Fällen hilft.

Eine einfache Methode, um die Befehlszeile zu finden: Drücken Sie gleichzeitig die Win- + R-Tasten, im CMD-Fenster, das angezeigt wird.

Befehlsschnittstelle

Grafik und Text.

  • Grafik (deu. Grafische Benutzeroberfläche, GUI) wird in den meisten Anwendungen in allen Vorgängen verwendet. Oft heißt es WIMP - Dies ist eine Abkürzung aus den ersten Buchstaben des Wortwebs, des Symbols, des Menüs, der Zeigevorrichtung (Manipulationsvorrichtung).
  • Hauptelemente:
  • Speisekarte;

Listen;

Piktogramme (Zeichnungen, Schemata).

Bei Windows Windows klickt der Benutzer auf Symbole, Piktogramme, die die Programme und Dateien darstellen, eine grafische Benutzeroberfläche sind, die jedem Benutzer reichlich Möglichkeiten bietet. Sie müssen keine Befehle eingeben. Zur bequemen Wechselwirkung wird eine Computermaus verwendet.

Sie müssen die Grafik von der visuellen Schnittstelle unterscheiden, die das System als Set von visuellen Bildern darstellt - es kann ein Symbol oder eine Inschrift sein, die sich an einem bestimmten Bildschirm befindet. Die visuelle Struktur verwendet nicht unbedingt grafische Zuordnungen. Die visuelle Struktur kann Grafik und Text sein.

Text verwendet beim Ein- und Bereitstellen von Informationen, einem Satz von Buchstaben / Zahlen, Zeichen von Pseudographic. Es verwendet alle grundlegenden Grafikdesign-Elemente: Kontrollkästchen, Schaltflächen, die Listen herunterladen usw. Unterschiedlich mit klein anspruchsvollen technischen Ressourcen, Hochgeschwindigkeitsdaten. Die Textschnittstelle ist ein Typ der Benutzer, während die Befehlszeile Teil des Textes ist.

Im einfachsten Fall verwendet Textschnittstelle eine Befehlszeile, aber viele Programme mit interaktiven Elementen machen ein freundlicheres, verständlicheres Design, das sich der Grafikkombination nähert.

Einige Programme unterstützen das entwickelte Fenstersystem wie Turbo Vision, D-Wohnung, CScape, viele haben änderbare Designthemen (DOS Navigator) sowie die Möglichkeit, verschiedene interaktive Interaktionselemente (Joystick, Maus) zu verwenden.

Gestikulieren, Stimme, taktil und neuronal

  • Der Benutzer verwaltet den Computer und gibt Befehle mit verschiedenen Methoden: Gesten, Stimme usw.
  • Daher wird die Art der Steuerung unterschieden:
  • Jährliche Schnittstelle. Kontaktelemente sind grafische Tabletten, Touchscreens und andere Technologien, die auf die Bewegungen der Finger reagieren;
  • Die Sprachschnittstelle zeigt das Sprachmanagement an. Beispiele sind: Siri aus Apfel, Alice von Yandex;

taktil, wenn die Interaktion auf taktilen Empfindungen basiert, empfindliche Rückmeldung (Vibration, Push);

Neuronal - Übertragung von Befehlen durch in das Gehirn gesinnte Elektroden. Informationen können aus dem Gehirn entnommen und beispielsweise durch die Augen-Netzhaut übertragen werden. In der Praxis kann Neuropepointer das Leben lähmter Patienten lindern, dessen Gehirn gut funktioniert. Die Neuropeface ermöglicht es ihnen, konkrete Maßnahmen durchzuführen, wobei ihre Absichten mit Hilfe von Elektroden gelesen werden, die mit dem Gehirn verbunden sind.

Grafische Systemoberfläche

Software, Hardware, Hardware und Software

  • Das Schnittstellensystem bietet auch zwischen PROGs und Geräten Kontakt.
  • Es gibt 3 Gruppen:
  • Programmierschnittstelle (Englisch. Programmierschnittstelle) ist das Zusammenspiel von Programmen untereinander. Insbesondere die API- oder Anwendungsprogrammierschnittstelle - Methoden zum Austausch von Daten zwischen Computerprogrammen (man sendet eine Anforderung an die API, ein anderes antwortet. Das Newsportal zeigt Währungen. Nicht der Redakteur ist dafür verantwortlich (er müsste die Zahlen manuell ändern), und die API, auf der die Site eine Anfrage an den Wechselstausch sendet, erhält eine Antwort.

Die Hardware ist so konzipiert, dass sie physische Geräte miteinander mit Steckplätzen, Anschlüssen, Gateways interagieren. USB (Universal Sequential Tire) ist das bekannteste Beispiel. Durch diese Verbindung herstellen Sie mit dem PC-Telefon, Kamera, Maus;

Hardware-Software ist die Wechselwirkung von Knoten, Elemente unter Programmsteuerung.

Benutzeroberfläche

Was der Benutzer berührt, was er vor sich selbst sieht, wo er klickt - dies ist die Benutzeroberfläche. Dies ist der externe Teil des Geräts oder das Programm, mit dem der Benutzer arbeitet.

Oft impliziert unter der Wortschnittstelle Benutzer (Benutzeroberfläche). Es passiert, dass der Site-Besucher sagt: "Es gibt eine verwirrende, unangenehme Registrierung oder Menü." Die Site ist also unangenehm, um Kontakt aufzunehmen: Es ist schwierig, den richtigen Artikel zu finden, Kasse die Bestellung, das Dokument herunterladen. Die verständliche Struktur ist, wenn eine Person sofort sieht, wohin erklicken soll, weiß es, was es verursacht wird. Mit Fenstern haben viele Neulinge Probleme, da das Design dieser OS-Umfrage, unerfahrene Benutzer in den Einstellungen verwechselt werden. In der 1C-Plattform werden zwei verschiedene Benutzeroberflächenmechanismen in verschiedenen 1C-Clients verwendet.

Befehlszeile, Grafik, Text, Stimme, Gestikulieren, taktil, neuronal, prozedural - All dies ist in der Benutzeroberfläche enthalten. Unter seiner Kontrolle tritt der Benutzer in die Daten in den PC ein, die Informationen auf dem Monitor werden angezeigt, der Drucker. Es gibt sogar eine Schnittstelle der Tabellenkalkulde - Dies ist ein Element, das eine Person sieht, läuft, beispielsweise die OpenOffice.org-Calc-Anwendung.

Es gibt jedoch weitere Arten von Benutzeroberfläche.

Hardware-Schnittstelle

Web, Spiel.

Die Weboberfläche ist eine Webseite (ein oder ein Set), die eine Struktur für den Kontakt mit einem Server oder Gerät über ein HTTP-Protokoll und einen Webbrowser darstellt. Zum Beispiel kann der Client auf der Bankseite, zahlen Sie Dienstprogrammdienste. Der Hauptvorteil - keine zusätzliche Software, da das Betriebssystem mit dem Browser fährt. Sie müssen nicht mit der Netzwerkschnittstelle verwechselt werden. Unter diesem Begriff wird als virtuelles oder physisches Gerät verstanden, das Daten zwischen Programmen über ein Computernetzwerk (z. B. VLAN) übertragen soll.

Die beliebte Art, eine Weboberfläche zu erstellen, ist die Verwendung von HTML mit CSS und JavaScript'a. Auch verwendet Adobe Flash, Java-Applets oder Silverlight.

Ein anderer Typ ist die Spieloberfläche - ist direkt mit dem Gamedizayn verbunden, obwohl er über seine Kompetenz hinausgeht. Der Spieler und das Spiel sind in verschiedenen Universen bewohnt, und die Spielstruktur ist der Punkt ihres gegenseitigen Kontakts. Damit erhält der Spieler die notwendigen Informationen aus dem Spiel, und es dauert die Aktionen des Spielers.

Material

Material- oder Taktile-Schnittstelle ist ein anderer Benutzer. Dies ist ein Kontakt einer Person mit Elektronik mit materiellen Strukturen. Beispielsweise bewegt sich eine Maus, die eine Person gleichzeitig den Pfeil des Cursors auf dem Bildschirm bewegt.

Sorten von Schnittstellen

Schnittstelle in Telefonen

Der Gesamtstil der mobilen Geräteschnittstelle ist als SIMP (Screen-Icon-Menüzeiger) gekennzeichnet. Auf mobilen Windows-Plattformen befinden sich die Elemente der Struktur, die den gesamten Bildschirm einnehmen. Der Übergang zwischen den Fenstern wird von grafischen Elementen ausgeführt oder mit einem Finger ziehen.

  • Die Merkmale des Designs von SIMP werden von den Besonderheiten des Betriebssystems erläutert.
  • Das häufigste Betriebssystem für Gadgets:
  • Android;
  • Apple ios;
  • Windows Mobil;
  • Palm Os;

Symbian OS;

Blackberry OS.

Russland ist beliebt - Android, Apple iOS, Windowsmobile. Hersteller nutzen jedoch ihre Arten von Schnittstellensystemen und Blöcken, der Hauptgrund ist Branding. Die Fähigkeit von Android zur Anpassung bedeutet, dass Hersteller von Unternehmensgeräten beispielsweise Änderungen an der Software vornehmen können, beispielsweise im Bereich Funktionalität und Design.

Verschiedene systemische Strukturen in mobilen Geräten beeinflussen nicht die Erfahrung der Besitzer, da sie erstellt werden, um universelle Aufgaben zu lösen. Unterschied in den Anwendungssatz.

Die Schnittstelle des mobilen Geräts enthält auch Kopfhörerbuchsen, Laden, Sprachhelfer - viel von dem, was auf der Arbeit des PCs basiert, nur dies ist nur für Gadgets angepasst. In Smartphones gibt es jedoch viele neue Strukturen, zum Beispiel NFC (NFS) - die Struktur der drahtlosen Kommunikation.

Was bedeutet die Schnittstellensprache?

Es lohnt sich nicht, es mit den Sprachen verwirrend zu machen, die beim Tippen von Textmaterialien installiert sind.

  • Die Schnittstellensprache ist derjenige, der beim Laden der Operationen verwendet wird, im Menü, in den Dialogfeldern, Fehlerfenstern und Referenzen. Es kann geändert werden, wenn mindestens 1 zusätzliches in die Hauptsprache installiert ist.
  • Eine einfache Möglichkeit, herauszufinden, welche Sprachfenster auf einem PC steht:
  • Öffnen Sie das "Bedienfeld";

Tab "Sprache";

Verteilt die Hauptsprache, die jetzt verwendet wird. Es kann ein neues geändert oder hinzugefügt werden.

Ergebnisse

Für eine Person ist die Schnittstelle eine Basis für die Arbeit mit einem PC oder einem Telefon. Und dies ist ein Weg, um zwischen Programmen und Geräten zu interagieren. Die Einfachheit der Systemstruktur hängt davon ab, ob es einfach ist, das Gerät zu verwalten. Entwickler kommen mit unterschiedlichem Design und Strukturen und machen sie mehr oder weniger angenehm, intuitiv für die Menschen. IT-Experten können Änderungen an einigen Strukturen vornehmen oder ernsthafte Aufgaben lösen, und unerfahrene Benutzer können das Gerät für das Gerät mit einem intuitiven Schnittstellensystem kaufen, um die Arbeit zu erleichtern und Zeit zu sparen.

Die Schnittstelle wird oft gesagt, wenn sie das Wechselwirkung einer Person und Computer oder Anwendungen bedeuten. In dem Artikel werden wir die Definition der Schnittstelle analysieren, was für Interaktionen, ihre Typen und Funktionen ist.

  • Was ist die Schnittstelle?

  • Die Schnittstelle ist ein "Dirigent" zwischen Mensch und einem Programm, einem Betriebssystem, einem technischen Gerät oder einem Wechselwirkungsmethoden zwischen Anwendungen untereinander. Eine Person enthält Befehle mithilfe der Schnittstelle, das Gerät analysiert sie und antwortet. Die Hauptaufgaben, für die er bestimmt ist:

  • Geben Sie Informationen ein und zeigen Sie Informationen (Sound, Bild);

  • Verwaltung einzelner Anwendungen;

Datenaustausch mit anderen Geräten;

Arten von Schnittstellen

Interaktion mit dem Betriebssystem.

Befehlszeile

Die Schnittstelle beinhaltet das Zusammenspiel von nicht nur Menschen und Technologie, sondern auch ein Computerprogramm, ein Programmprogramm, ein Computergerät. Wenn beispielsweise Geräte mit der Computersystemeinheit verbunden sind, verwendet das Interaktionsverfahren den Anschluss.

Mit einigen Arten von Interaktion können Sie mehr Kontrolle über einen Computer oder ein Smartphone erhalten, erfordert jedoch zusätzliche Fähigkeiten. Andere sind komfortabler, bieten jedoch weniger Möglichkeiten. Jeder Typ hat seine eigenen Eigenschaften.

Die Befehlszeile (Konsolenschnittstelle) beginnt in seiner Hülle, beispielsweise in BIOS. Der Hauptweg des Standorts: C: \ Windows \ system32 \ cmd.exe. Der übliche YOWSER muss nicht absichtlich sein, wenn sich die Befehlszeile befindet und wie es funktioniert, und für Fachleute ist es das Hauptwerkzeug, da er mit dem Computer mit Viren, Windows-Restauration und in anderen Fällen hilft.

Durch die Befehlszeile können Sie die maximale Anzahl von Vorgängen durchführen, um mit dem Betriebssystem mit dem Betrieb zu kommunizieren. Um den Befehl einzugeben, müssen Sie den Text in den Computer eingeben, und drücken Sie die Eingabetaste, der Computer wird beginnen.

Die Minus-Methode ist, dass es nur für ausgebildete Benutzer geeignet ist. In der Befehlszeile gibt es keine Hilfsgrafikelemente, es muss die Sprache für die Interaktion beherrschen, und die Befehle funktionieren, können nicht verwechselt werden.

Die Grafik vereinfacht die Interaktion mit dem Computer, es ist viel einfacher, damit zusammenzuarbeiten und komfortabler als mit dem Text. In der Rolle der grafischen Schnittstelle sind solche Elemente:

Im einfachsten Fall verwendet Textschnittstelle eine Befehlszeile, aber viele Programme mit interaktiven Elementen machen ein freundlicheres, verständlicheres Design, das sich der Grafikkombination nähert.

Wenn Sie beispielsweise mit Windows interagieren, verwendet Symbole und Windows, ist die Maus mit der Eingabe verbunden. Auf dem Smartphone ist das Eingabegerät ein Touchscreen-Display.

Die Textschnittstelle verwendet nicht die Bilder: Die Befehle werden mit Text angegeben, und Informationen werden in Textform bereitgestellt.

Mit der Gesteninteraktion können Sie den Bewegungen der Finger Befehle angeben. Es wird beim Arbeiten mit einem Touchscreen eines Smartphones angewendet. Zum Beispiel lässt die "Up" -Sture das Popup-Fenster auftreten.

Die Sprachschnittstelle ist ein Sprachmanagement. Das Gadget erkennt und führt Tonbefehle aus.

taktil, wenn die Interaktion auf taktilen Empfindungen basiert, empfindliche Rückmeldung (Vibration, Push);

Taktil impliziert die Interaktion mit Hilfe des Berührungen: Vibration oder Empfindlichkeit des Pressens.

Die neuronale Schnittstelle überträgt den Befehl direkt aus dem Gehirn an den Computer, denn dies werden die Elektroden in das Gehirn implantiert. Es wird in der Medizin eingesetzt: So kann eine gelähmte Person mit der Außenwelt kommunizieren.

Die Hardware ist so konzipiert, dass sie physische Geräte miteinander mit Steckplätzen, Anschlüssen, Gateways interagieren. USB (Universal Sequential Tire) ist das bekannteste Beispiel. Durch diese Verbindung herstellen Sie mit dem PC-Telefon, Kamera, Maus;

Programminteraktion miteinander liefert eine Software-Schnittstelle. Programme senden Anfragen an einander und erhalten Antworten. Um beispielsweise ständig ein relevantes Wetter in einem Widget oder auf einem Computer anzuzeigen, sendet ein Programm ständig eine Anforderung an einen anderen, und es bietet frische Daten.

Die Hardware ist für die Organisation der Kommunikation zwischen physikalischen Geräten über Anschlüsse und Slots bestimmt. Wenn der Computer Informationen von einer Festplatte liest, ist dies eine gemeinsame Arbeit des Programms und des physischen Geräts, dh der Hardware- und Softwareschnittstelle.

Mit dem, mit dem der übliche Benutzer wechselt, wenn ein Computer einen Computer enthält, in die Website oder in die Anwendung eintritt, alles, was eine Person auf dem Bildschirm sieht, ist eine Benutzeroberfläche.

Web, Spielplatz

Die beliebte Art, eine Weboberfläche zu erstellen, ist die Verwendung von HTML mit CSS und JavaScript'a. Auch verwendet Adobe Flash, Java-Applets oder Silverlight.

Mit der Weboberfläche können Sie über den Browser arbeiten. Dies ist das Zusammenspiel von Programmen im Internet. Sie können zum Beispiel zur Website-Website gehen und die Einkäufe bezahlen. Der Browser ist in diesem Fall eine Webschnittstelle, dank welcher Seiten interagieren.

Material

Das Spiel ist, wie der Benutzer mit dem Spiel interagieren kann, in dem Befehle angibt, in welcher Form die Spielinformationen präsentiert und wie das Spiel auf Aktionen reagiert.

Was sollte die Schnittstelle sein?

Dies ist ein taktiler Kontakt mit Gadgets. Es beinhaltet das Berühren von Touchscreen, Aktionen mit Maus oder Joystick.

Logik-Datenbankstruktur (DDL).

Die Smartphones verwenden einen Touchscreen, der gestikuläre und taktile Schnittstellen impliziert. Der Benutzer berührt die Elemente, das Betriebssystem oder die Anwendung empfangene Befehle von ihm und führen sie aus.

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