Grensesnitt - hva er så enkle ord

Grensesnitt - Hva er det det trenger, typer grensesnitt

4. januar, 2021.

Hei, kjære blogglesere ktonanovenkogo.ru. I tiden av massecomputer er det viktig å holde tritt med de nyeste trendene og stadig etterfylte gapet i kunnskap.

Det er viktig at grensesnittet tilsvarer målene og konteksten. Hvis dette er samspillet mellom en spesialist med en datamaskin, er det viktigste muligheten til å gi informasjon og oppfylle oppgavene. For en vanlig bruker har det ikke bare teknisk, men også estetisk verdi: arbeid med det må være behagelig og forståelig.

Du vil ikke komme over behovet for å krasje? I dag vurderer vi en annen begrep knyttet til PC.

Jeg vil prøve å forklare en slik ting som et grensesnitt: hva er og hvorfor er nødvendig. Så, la oss begynne.

Grensesnittet er ...

Som alle nye fashionerte setninger kom ordet "grensesnittet" til oss fra det engelske språket. Oversatt grensesnitt indikerer " Kontaktsted "

Grensesnittet er et sett med verktøy som gjør at brukeren kan samhandle med datamaskinens operativsystem, en mobil enhet eller andre typer utstyr.

Grensesnittet er ...

Som slike verktøy Interaksjoner kan handle:

  1. tekstfelt;
  2. knapper og flått;
  3. rullegardinlister;
  4. popup-tips;
  5. Brytere;
  6. Elementer i menyen i programmet eller nettstedet;
  7. og mye mer.

For å være bedre klar hva slags frukt er dette grensesnittet, bør du vurdere et visuelt eksempel. Anta at du bestemmer deg for å gå på helligdager i fjerne kanter og bestille et hotell på forhånd via Internett.

Kom på nettstedet, og der forventer du flere grensesnitt: søk, vise resultater, skrive inn personopplysninger, betaling. Under hvert trinn av samspillet med hotellreserveringsstedet, opererer brukeren med data og utfører visse handlinger.

Hvorfor trenger jeg et grensesnitt? Alt er enkelt, mer enn noensinne: Jo mer praktisk å bruke programmet, nettstedet og annet produkt, de lykkeligere brukerne.

Det vennlige grensesnittet lar deg også øke salget på kommersielle nettsteder, da besøkende ikke lukker fanen i løpet av de første sekundene ved å bruke nettstedet.

Nettsteder med god design er større populære blant brukere, mer besøkt, og gir derfor den beste inntektene til sine eiere.

Typer av grensesnitt

Grensesnittet er vanlig for å delta på følgende typer:

  1. Kommandolinje . Dette er den eldste og mest tidkrevende måten å samhandle mellom brukeren og den datamaskinen. Samtidig forblir kommandolinjen den mest pålitelige typen grensesnitt.
    For brukere er grensesnittet grunnlaget for å jobbe med en PC eller en telefon. Fra hvor enkelt eller komplekst dette systemet, vil bekvemmeligheten til å kontrollere enheten avhenge av. Utviklere kan endre systemstrukturer for komplekse oppgaver. Uerfarne brukere, det er bedre å kjøpe enheter med et klart grensesnitt for å lette sitt arbeid.

    Kommunikasjon med maskinen oppstår på sitt språk. Kommandolinjen brukes i operativsystemer beregnet for profesjonelle brukere: for eksempel i BIOS.

  2. Grafisk grensesnitt . Dette er akkurat det som menes i dag under ordet "grensesnitt". Den brukes i alle operativsystemer, programmer, nettsider.
    Smartphone

    Med et grafisk grensesnitt står absolutt alle PC-brukere møtt. For mer praktisk interaksjon, anbefales det å bruke en datamus.

  3. Signere grensesnitt . Den raske utviklingen av teknologier har blitt en av grunnene til utseendet på et gestgrensesnitt. Dette inkluderer sensoriske skjermer, joysticks, stylus og andre elementer.
  4. Stemmegrensesnitt . Snakker uttrykket "OK, Google" og uttaler deretter søket, samhandler du med stemmegrensesnittet til Smartphone eller Tablet-operativsystemet.
    Kommandolinjegrensesnitt

    Denne typen dukket opp også nylig takket være den raske utviklingen av teknologier.

    Men i dag har det betydelig popularitet, da det lar deg løse en rekke viktige oppgaver og administrere enheter (hva er det?) - Mobil enheter, biler, husholdningsapparater, datamaskiner - med talekommandoer.

Hva skal være grensesnittet

Hovedoppgaven til et grensesnitt - Lett bruk Spesifikt program, nettsted eller lignende produkt.

For eksempel, når du utvikler en webportal, anbefales det å gjøre fokus på følgende elementer :

  1. Det optimale antallet viste elementer;
  2. Tilpasningsevne til skrivebordet og mobile enheter;
  3. Tilstedeværelsen av knapper av populære sosiale nettverk;
  4. optimal størrelse ikoner og knapper;
  5. praktisk form for registrering;
  6. Intuitiv plassering av menyelementer;
  7. tilstedeværelsen av farge eller informasjon aksenter;
  8. søk systemet på nettstedet;
  9. Om nødvendig, tilgjengeligheten av kontaktdata.

Et lyst eksempel på et godt gjennomtenkt grensesnitt er ktonanovenkogo.ru. På stedet, en god fargeløsning, en intuitiv meny, tilstedeværelsen av internt søk, vise artikler etter publiseringstidspunktet, som gjør bruken av ressursen raskt og morsomt.

Det er alt, kjære venner. Nå vet du at grensesnittet er, bare å snakke, det eksterne skallet av programmer eller nettsteder, noe som gjør det lettere å bruke dem.

Jeg håper at etter å ha lest artikkelen, vil du ikke lenger ha noen spørsmål. Tillat deg å invitere deg til å få kommentarer til å avta på dette emnet med andre blogglesere ktonanovenkogo.ru.

Og for å konsolidere kunnskap, foreslår jeg å se en video om det nye grensesnittet for Android fra Samsung:

Lykke til! Ser raske møter på sidene i ktonanovenkogo.ru

De fleste moderne grensesnitt er designet for erfarne brukere. Kranene ble heller ikke umiddelbart for alle kjente. Tidligere ble sidene av bryteren sikkert merket rødt og blått - for å være klart hvor det er kaldt, og hvor varmt vann. Nå er vi vant til, og flere og flere kraner frigjøres uten merking. Sannsynligvis husket de endelig hvilken side som strømmer.

Med webgrensesnitt var det omtrent det samme. I begynnelsen av null var det en skiorphism - grafikken imiterte de virkelige verdensobjektene. Hvis nettstedet var knappen, så det ut som en ekte volumetrisk knapp. Det var forståelig for de fleste som kjøpte sine første datamaskiner.

Men øyeblikket kom da nye brukere har blitt mindre. Alle som ønsket å begynne å bruke en datamaskin og Internett har allerede blitt mestret i teknologi. Og behovet for realistiske grensesnitt forsvant gradvis.

Nå, i stedet for det detaljerte "menyen" -ikonet, brukes den såkalte burgeren vanligvis med signaturen - tre horisontale striper. Og vi vet helt godt hva de mener. Vi vet også at nettstedene vanligvis leser fra topp til bunn. Og trenger ikke noen piler for å forklare. Moderne grensesnitt er designet for erfarne brukere og mer konsis.

Programmer

Grensesnittet kan betraktes som en slags kontrakt mellom systemet og et eksternt miljø. Som en del av dataprogrammet er systemet funksjonen eller modulen, og "miljøet" er resten av prosjektet. Grensesnittet beskriver formelt hvilke data som kan overføres mellom systemet og miljøet. Og "implementering" kan beskrives som "minus grensesnitt system". På språk som HasKell-grensesnitt kan være ekstremt spesifikke. Og på språk som Python, de, tvert imot, er veldig vanlige. Den valgte grensesnitttypen kan påvirke størrelsen på den opprettede tekniske gjelden og ytelsen til programmereren. Slik beregner du at den er skrevet nedenfor. En metode vil også bli foreslått for å evaluere og sammenligne forskjellige grensesnitt. Basert på disse sammenligningene, kan du se på seg selv for å bruke språk- eller programvaren.

Det viktigste konseptet i utviklingen av programvare - konsept

Grensesnitt

. Denne artikkelen handler ikke om Java-grensesnitt, men om grensesnitt i programvareutforming. Og i mindre grad - på grensesnitt i den omkringliggende verden. Selvfølgelig brukes mange andre viktige begreper i utviklingen av programvare, men jeg tror at de fleste av dem er på en eller annen måte, avhengig av betydningen av grensesnittet.

Hva er grensesnittet?

De fleste av oss er kjent med to korte formuleringer:

Grensesnittet er en kontrakt mellom systemet og et eksternt miljø. Grensesnittet er et sammenkoblingssystem med et eksternt miljø.

Grensesnitt = system ∩ omgivelser

Definisjon med paring er egnet, hvis systemet er et fysisk objekt. Begge definisjonene er svært abstrakte, så la oss vurdere dem på trykkeriet på tastaturet:

Her er systemet en bærbar PC, miljøet - hender (så vel som kattpotene, klatrer på tastaturet). Følgelig må grensesnittet være en del av samspillet mellom hender og en bærbar PC, som ikke kan tilskrives bare noen av partene, men bare til begge deler. Vanligvis tenker vi på hendene og tastaturet er atskilt, slik at de nøyaktige grensene i grensesnittet i dette tilfellet er gjenstand for den filosofiske tvisten. Du bestemmer deg: om det er tastaturet som helhet eller individuelle atomer som samhandler med hverandre når fingrene og tastene kontakter.

Sannsynligvis vil du bli overrasket over hvordan dette eksemplet korrelerer med definisjonen av grensesnittet som en kontrakt. I dette tilfellet menes avtalen en avtale som på det tidspunktet vi brukte nok innsats når de husket plasseringen av nøklene og muskelminnet ble omarbeidet. En rekke nyanser er knyttet til traktaten. For eksempel, trykk og holder nede en annen verdi i forhold til en enkel engangspresse.

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

:

add_numbers. 

usignert int, usignert int); void andre_funksjon (void) {add_numbers (3.4);} usignert int add_numbers (usignert int a, usignert int b) {returnere a + b;} int hoved (void) {add_numbers (9.99); Return 0;}

Påfør samme farge differensiering teknikk

Bukser

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Å beskrive miljøet, systemet

og grensesnitt:

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Systemet under vurdering her består av en funksjon

. Hvis du sier at du kan vurdere som en egen system hovedmetode -

Other_function.

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

- Så vil du være riktig. Men for enkelhet, vurderer vi en funksjon

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

.

Isolert system. Det er også tilrådelig å vurdere en del av konverteringsgrensesnittet til

Som du kan se, er det fjerde konseptet lagt til her: "Implementering". Det er ganske vanskelig å diskutere gjenstand for grensesnitt uten å ta hensyn til spesifikke implementeringer. La oss definere dette begrepet: Implementering er et minus grensesnittsystem. Implementering = system ∖ grensesnitt

Implementering = system ∖ (system ∩ miljø)

Jeg må innrømme at jeg aldri hadde en slik definisjon av implementering før. Men dette er en uunngåelig forlengelse av et sett med grensesnittdefinisjoner som har en rekke fordeler. Hvis du er en dårlig student og forbereder eksamen, så har sikkerheten din aldri hørt om denne definisjonen. Jeg vil ikke bli overrasket om det vil motsette seg en taksonomi av objektorientert programmering. Men selv i dette tilfellet kommer jeg ikke til å forandre den. La fansen til OOP omskrive sine abstrakter i samsvar med min definisjon.

Det fører i sin tur oss til den neste logiske konklusjonen: Når vi snakker om grensesnittene i det fysiske systemet, forestiller vi vanligvis "implementeringen" av dette systemet i form av et enkelt fysisk objekt. Tross alt ville det være rart å vurdere den "ekte" implementeringen uten å ta hensyn til knapper, skjermer eller andre komponenter. Og det presser oss til å vurdere grensesnittet mer som en "avtale", og ikke en kombinasjon av fysiske gjenstander. Det vil si i form av et sett med løfter, garantier eller noe som ...

.

kontrakt mellom systemet og miljøet

Grensesnitt som kontrakt

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Hvis du vurderer funksjonsgrensesnittet

  • I form av en kontrakt, så vil garantiene være slik: Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon Funksjon
  • Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon eksisterer. Den har bare to parametere, som hver er usignert .
  • Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon int. Den har bare to parametere, som hver er usignert .

Returnerer bare en usignert

  • Grensesnittet til denne funksjonen forteller oss ikke noe: Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon ;
  • På avbrudd av utførelse Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon ;
  • om den asymptotiske kompleksiteten til rekktid Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon ;
  • På antall gratis minne som kreves for å starte Den har bare to parametere, som hver er usignert ;
  • Om den spesifikke implementeringen av usignert

På bivirkninger (minneallokering, modifiserende globale variabler).

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Grensesnittet beskrevet ovenfor

kjent under typen funksjon

Prototype.

. I tidligere versjoner av K & R C ble en svakere form for beskrivelse av grensesnittene brukt:

usignert int add_numbers ();

Definisjon av grensesnittet som kontrakt er veldig praktisk for programmering. Tross alt består de fleste programmeringsoppgaver i å bestemme og be om sett med aksiomer. Primære og endelige forhold gir noen egenskaper eller oppførsel. Før to parter knytter et forretningsforhold med hverandre, utarbeider de kontrakten. Det formulerte det endelige resultatet, beløpet og tidslinjen for betaling. Det fastsetter også vilkårene for tidlig oppsigelse, refusjon og kostnader. Hvis kontrakten er krenket, konverterer situasjonen retten eller voldgift. Men hvis du glemte noe å spesifisere i kontrakten, kan overraskelser oppstå.

Med dataprogrammer alt det samme. Moduler og funksjoner sier at de trenger og (noen ganger) hva de vil bli gitt i retur. Overtredelsen av denne kontrakten vil føre til en kompileringsfeil, til en feil i utførelsen, til feilen i applikasjonen, systemet, kvalitetskontrollverktøyene og ledelsen i håndboken. Jeg vil til og med si at definisjonen av grensesnittet som en kontrakt ikke er metaforisk. Her er de samme prinsippene som i den kommersielle kontrakten, selv om den ikke er så detaljert.

Patenter, opphavsrett og grensesnitt

Jeg vil ikke gi deg råd i loven. Kanskje noe fra meg sa at selv vil motsette seg lovene. Alt følgende er forfatterens private mening.

Så jeg er tilbøyelig

bokstavelig

Vurder grensesnittet som en "kommersiell kontrakt" mellom to enheter. Jeg understreker - jeg anser det ikke en metafor. Jeg adresserer spesielt denne tolkningen av spesialister i teorien om databehandlingsmaskiner og opphavsretts demonstranter.

Skal grensesnittet patent? Gitt sin definisjon som en kontrakt mellom systemet og miljøet, tror jeg at bruken av patenter ville være en feil. Og tilsynelatende støtter eksisterende saksorden min posisjon. Men husk at ordet "grensesnitt" brukes veldig mye, og ofte i det hele tatt i den forstand, som jeg beskrev ovenfor.

Skal jeg beskytte grensesnittet med opphavsrett? Igjen, gitt den "kontraktsmessige" naturen, tror jeg at "kildekoden" av grensesnittet må være objektet for opphavsrett. Samtidig bør opphavsretten ikke brukes på aspektene av grensesnitt som gjør dem spesielle. Det er nok å beskytte kildekoden eller et håndskrevet bilde, men ikke garanti eller begrensninger. Hvis garantien eller grensesnittbegrensningene blir uadskillelige fra noen av delene av koden, bør disse delene bli fratatt retten til beskyttelse.

Jeg foreslår en enkel test som lar deg sette pris på om det er nødvendig å beskytte med opphavsrett.

Hvis du vil beskytte en slags attributtsett, inkludert noen komponenter fra en tredjepart, kan du på noen måte som brukes av grensesnittet, og du kan alltid lage en egnet erstatning. Erstatning implementerer det samme grensesnittet og vellykket brukt i programvare fra en tredjepart, uten noen endringer i selve programvaren, samt uten brudd på opphavsretten. Hvis en erstatning vil føre til brudd på opphavsretten, eller innebære modifiserende programvare fra en tredjepart, eller forverres funksjonalitet, er attributtet for aggressiv og må reduseres.

Jeg tror at ved hjelp av denne testen er det tilrådelig å sjekke selv på patenterbarhet. Vennligst merk: Formålet med testen er å bestemme ekstremt

Uopprettelse

beskyttelse opphavsrett eller patent. Han vil ikke hjelpe til med å adressere det

Følg

Slå beskyttelse. I tillegg er denne testen bare min mening, og ikke en regulatorisk handling eller lov.

Jeg vil også merke seg at ethvert kriterium som anses som en del av grensesnittet på samme språk, kan ikke være det på et annet språk. For eksempel, i Java, påvirker prosedyren for deklarere funksjoner ikke utførelsen av programmet. Og hvis du ved et uhell sier at rekkefølgen på funksjonene i filen ikke betyr noe, vil det være en feil i forhold til programmet på Python: 

Def foo (): Skriv ut ("Asdf") Def foo (abc): print (abc) foo ("lol")

Alle disse samtalene om lovene minnet meg om

Oracle mot Google

. Ifølge den oppgitte lenken kan du finne interessante detaljer for utviklere, så jeg vil stole på dem i min analyse. Gitt alle aspekter ser jeg ikke årsakene til å være uenige med beslutningen om saken til fordel for Oracle. Jeg kan ikke si at de ubetinget støtter dem, siden vi ikke er tilgjengelige ikke så mange deler av saken.

Jeg tror mange bekymret for at en presedens vil bli opprettet, slik at elementene i grensesnittet beskytter patentet eller opphavsretten. Bare saken der testen min ikke ville bli bestått. Distriktsretten tok stilling: "Strukturen, sekvensen og arkitekturen til API kan beskyttes av opphavsrett." Jeg tror ikke at dette er et problem, fordi "strukturen, sekvensen og arkitekturen" i sin definisjon vil helt gå gjennom testen min. Jeg vil gi et par utdrag fra artikkelen på lenken ovenfor:

"Distriktsretten konkluderte med at" det er bare en måte å skrive "annonser for å samhandle med Java. I så fall er bruken av de samme annonsene ikke gjenstand for opphavsrett. Google bestrider ikke det faktum at de kunne skrive sine egne APIer for å få tilgang til Java, med unntak av tre. " Endelig, "i Google anerkjente at de bokstavelig talt kopierte annonser."

Jeg tror at retten aksepterte den riktige avgjørelsen, og konkluderte med at de unike egenskapene til grensesnittet ikke skulle beskyttes. I tillegg anerkjente Google "bokstavelig" kopiering. Hvis dette betyr copypasting, inkludert alle hull og stavefeil i kommentarene, så anser jeg det som et brudd på rettighetene. Selv om grensesnittet ikke kan beskyttes, bør det ikke forstyrre beskyttelsen av individuelt kreativt uttrykk.

Jeg vet om denne rettssaken bare fra åpne nettverkskilder, men tilsynelatende har den originale Java-koden fullstendig kopiert til Google, inkludert grensesnitt. Det ser ut til at de selv trodde at det var nødvendig å lisensiere bruken av Java, da det var gjenstand for forhandlinger om lisensavtaler med sol før 2010. Men disse avtalene mislyktes etter at solen ble kjøpt av Oracle. Likevel fortsatte Google å bruke "bokstavelige" kopier av koden, som tydeligvis ikke gikk til sin fordel ved rettssaken. Jeg mistenker at deres advokater visste om svakheten i deres posisjon, så de valgte en beskyttelsesstrategi basert på den legitime etterspørselen etter ikke-spredning av opphavsrett til grensesnitt. De håpet å vinne saken på bekostning av representasjonen av grensesnittet i form av kildekoden og dens forening med et mer filosofisk konsept.

Hva er "modul", eller "abstraksjon"?

Med ordet "modul" i hodet mitt er det et kapitalbilde av posten. Denne illustrasjonen viser godt betydningen av modulens grenser og samspillet med miljøet. Kube-grensesnittet begrenser samspillet mellom det ytre miljøet med innholdet i kuben. Du vil ikke kunne omgå grensesnittet, så du må beholde "spillets regler" pålagt det. Til slutt er det ingenting i kuben, men det spiller ingen rolle: Det er viktig ikke innholdet, men et grensesnitt.

Et annet eksempel: strukturen til cellemembranen. Ulike komponenter gir bare de nødvendige stoffene gjennom membranen og bare når det er nødvendig.

I sammenheng med denne artikkelen vil jeg bruke vilkårene "modulene" og "abstraksjon" som synonymer. Selvfølgelig vil den forklarende ordboken ikke være enig med meg, og selv i forskjellige programmeringsspråk, har disse vilkårene en annen betydning. Men i dette tilfellet er jeg bare interessert i det faktum at begge disse enhetene kan betraktes som et system som det forstås i denne artikkelen. Det vil si at abstraksjoner og moduler kan bestå av et grensesnitt og implementering.

Du kan lese en egen funksjon av modulen i C, "-modulen" - i python, klasse eller pakke - i Java. Noe, hvis bare det hadde et eksternt grensesnitt og "skjult" implementering. Videre kan det være en konsekvens av språkens regler eller til og med en programmerers beslutning.

Tørking av abstraksjon

Så vidt jeg vet, ideen

Dumpy Abstraksjoner Sett frem Joel Spolski

. I hans essay er det noen gode eksempler, men jeg vil gjerne ta med meg selv. I programmering blir konseptet med "Maps" ofte oppstått: som representerer datastrukturen som består av par nøkler og verdier. VIKTIG LIMIT: Kortet sikrer at alle tastene må være unike. Et forsøk på å registrere en ny verdi for en eksisterende nøkkel vil resultere i en feil eller overskrive forrige verdi. Bunnlinjen er at nøklene ikke skal dupliseres. Ofte krever programmørene et ønske om å sortere ut alle disse nøklene. Og siden kartene ikke kan garantere en bestemt rekkefølge av sorteringstaster, er det noen ganger nødvendig å lure på i hvilken rekkefølge de vil være etter bustningen? Dette er konsekvensen av at kortgrensesnittet ikke tillater sorteringsgarantier. Og selv om det antas at det ikke betyr noe, men i praksis, vil jeg fortsatt sortere. Så det er nødvendig for en mer effektiv dataorganisasjon, for eksempel for å lette verifiseringen av eksisterende nøkler.

Sortert data brute kraft kan gi et helt annet resultat i forhold til tilfeldig data overveldende. Anta at du må finne minimumsverdien i listen: 

min = null; liste = map.getmapkeys (); for (element i listen) {hvis (min == null) {min = element} ellers hvis (element <min) {min = min; / * Denne linjen har en feil * /}}

Grenen

Eller hvis.

Det vil aldri bli utført hvis dataene er sortert som stigende. Selv om du begynner å sjekke fra en tilfeldig plassering av listen, vil programmet aldri kollidere med denne strengen. Og dette er et stort problem, siden hvis du endrer implementeringen av kortet, og det vil ikke returnere sorterte nøkler, vil koden din plutselig bli utført på en feilbugg. Og når du helt glemmer denne koden og bomben skjult inne i den.

Jeg vil tilby min egen definisjon av abstraksjonslekkasje.

Abstraksjonslekkasjen (abstrakt lekkasje) kalles situasjonen når implementeringen kan påvirke miljøet, da det ikke ble gitt av grensesnittet.

Ifølge denne definisjonen,

Nesten hver

Abstraksjon - puste. Tross alt er beskrivelsen i grensesnittet av alle typer miljøpåvirkninger bare fornuftig i de strengeste matematiske systemene. Og som for fysiske systemer, så kan du bli husket

.

Theorem Gödel om ufullkommenhet

Ideen om hullene i de fleste abstraksjoner er ikke urimelig. Dette betydde Joel Spolski i sin "lov om lekkasje abstrakter":

"Alle ikke-trivielle abstraksjoner er en holey til en viss grad."

Når alle abstraksjonene lener seg, hva skal du snakke om? Problemene oppstår bare når en del av miljøet begynner å stole på en av de uforutsette måtene å eksponere for systemet. Det handler om slike lekkasjer som alle sier.

Dette fører til vidtgående konsekvenser, ikke bare fra synspunktet til vanlige feil, men også på sikkerhetsområdet. Med fysiske systemer der det er lekkasjer i utvendig miljø, kompromitterer sikkerheten, begrepet "

Sidekanalangrep

" I kombinasjon med en erklæring om at alle abstraksjoner av hullene, fører det oss til konklusjonen:

Hver fysisk implementering av kryptosystemet er sårbart for tredjepartsangrep.

Gitt alt ovenfor, kan denne ideen utvides ikke bare for fysisk, men også på emulerte implementeringer.

Evaluering og sammenligning av grensesnitt

Som vi allerede har sett ovenfor, settes i grensesnitt på C, som for eksempel returverdi og antall parametere som kan overføres. Hva med Python? Jeg bruker begrepet "grensesnitt" i samsvar med sansens sammenheng, det vil si i bredere forstand i forhold til hva de skriver i bøkene om "grensesnitt" i Python. 

Def add_numbers (A, B): Return A + BPrint (ADD_NUMBERS (3,1)) Skriv ut (ADD_NUMBERS ("ABC", "DEF"))

På dette språket må vi formalisere hvilke typer funksjonsgrensesnitt. Det forenkler definisjonen og samtalefunksjonen, siden det er nødvendig å behandle mindre informasjon. På den annen side, restriksjoner som du kan utføre sjekken for søket etter feil mindre.

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Jeg tror du trenger noe å si om vurdering og sammenligning av forskjellige egenskaper av grensesnittet fra oversikten over informasjonsoverføringsmetoder. Du kan evaluere både et bestemt grensesnitt og et sett med alle grensesnitt som kan implementeres på dette språket. La oss huske vårt eksempel med

Og vi anslår hvor mye informasjon vi kan passere gjennom grensesnittet og omgå det, ved hjelp av abstraksjonslekkasje. Via grensesnittet
Ved å gå rundt grensesnittet Beskrivelse av egenskaper Ved å gå rundt grensesnittet Beskrivelse av egenskaper
Antall mulige stater Type parameter 1. 1 (usignert int) Tilstand av global variabel
(Antall globale variabler) * (Antall stater av globale variabler) Type parameter 1. Type parameter 2. Filsystem
Antall statssystemstatus Type parameter 1. Type returnert verdi Prosessor bruk tid
Ikke begrenset Parameterverdi 1. 2 ^ (telle i usignert int) Tilstand av kuchi.
Antall stater Parameterverdi 1. Parameterverdien 2. Mye andre ...
... Parameterverdi 1.

Return Verdi

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Og det er en rekke ting som kan kommunisere med

via Python-grensesnittet. Informasjonsoverføring via Python-grensesnitt
Ved å gå rundt grensesnittet Beskrivelse av egenskaper Ved å gå rundt grensesnittet Beskrivelse av egenskaper
Antall mulige stater Overføring av informasjon omgående Python-grensesnittet 1 (usignert int) Filsystem
(Antall globale variabler) * (Antall stater av globale variabler) Overføring av informasjon omgående Python-grensesnittet Type parameter 2. Prosessor bruk tid
Antall statssystemstatus Overføring av informasjon omgående Python-grensesnittet Type returnert verdi Tilstand av kuchi.
Ikke begrenset Overføring av informasjon omgående Python-grensesnittet 2 ^ (telle i usignert int) Mye andre ...
Antall stater Overføring av informasjon omgående Python-grensesnittet Parameterverdien 2. Tilstand av global variabel
... Overføring av informasjon omgående Python-grensesnittet

Praktisk talt uendelig

Og nå ta en titt på antall grensesnitttyper som vi kan beskrive i Haskell: 

Add_numbers :: int> int -> intadd_numbers 3 4 = 7Main = Skriv ut (add_numbers 3 4)

Alt dette er nysgjerrig filosofisk begrunnelse, men hvordan relaterer de til å skrive programvare? Vel, la oss begynne med det faktum at grensesnittene i programmering omgir deg fra alle sider, selv om du ikke tar hensyn til den. For eksempel, hvis du programmerer på Java, vil du eksplisitt navnet på grensesnittene avhengig av deres formål. Og på andre språk er de også til stede. La oss vurdere et eksempel på en grensesnittfunksjon

Gitt denne koden, grensesnittet

Kan få følgende informasjon: Overføringsinformasjon via Haskell-grensesnittet
Ved å gå rundt grensesnittet Beskrivelse av egenskaper Ved å gå rundt grensesnittet Beskrivelse av egenskaper
Antall mulige stater Overføring av informasjon ved hjelp av Haskell-grensesnittet Type returnert verdi Prosessor bruk tid
(Antall globale variabler) * (Antall stater av globale variabler) Overføring av informasjon ved hjelp av Haskell-grensesnittet 1 (int) Prosessor bruk tid
Antall statssystemstatus Overføring av informasjon ved hjelp av Haskell-grensesnittet Effekt på prosessor / minnebuffer Mye andre ...
Ikke begrenset Andre ...
Antall stater 1 (verdi 3)
... 1 (verdi 4)

Minst 2 ^ 30 [1]

  • For et bestemt grensesnitt på ditt valgte språk kan du også vurdere antall unike måter å overføre informasjon:
  • gjennom grensesnittet;

Ved å gå rundt grensesnittet gjennom abstraksjonslekkasjer.

  • Du kan også være oppmerksom på følgende:
  • Hvor mange restriksjoner du kan bruke på dette språket fra synspunktet til minimum og maksimum antall opplysninger som sendes gjennom grensesnittet;

Hvilke instrumenter gir dette språket for å hindre samhandling til grensesnittet bypass.

Programmer
La oss analysere på denne måten det grafiske brukergrensesnittet der det er mulig å endre mappene: Overføring av informasjon via GUI
Ved å gå rundt grensesnittet Beskrivelse av egenskaper Ved å gå rundt grensesnittet Beskrivelse av egenskaper
Overføring av informasjon omgående GUI Klikk på mappe 1 Antall piksler på skjermen som holdes av mappen 1 * Antall klikk Prosessor bruk tid
Skjulte muligheter UI. Klikk på mappen 2 Antall piksler på skjermen holdt av mappen 2 * Antall klikk Ikke-standard hurtige samtalekombinasjoner
Antall piksler på skjermen okkupert av knapp 2 Guidance markør til mappe 1 Antall piksler på skjermen holdt av mappen 1 Mye andre ...
Andre uventede UI-evner Guidance markør til mappe 2
Antall piksler på skjermen holdt av mappen 2 Tid mellom veiledning og klikk
Uendelig Standard tastaturarrangementer
Antall standardnøkkelkombinasjoner Skjermområdet okkupert av GUI

Antall piksler som brukes til å vise GUI

Og nå vurdere samme oppgave å endre mappen ved hjelp av kommandolinjen og

:

La oss analysere på denne måten det grafiske brukergrensesnittet der det er mulig å endre mappene: Overføring av informasjon via GUI
Ved å gå rundt grensesnittet Beskrivelse av egenskaper Ved å gå rundt grensesnittet Beskrivelse av egenskaper
CD. Prosessor bruk tid Antall mappenavn som du kan ringe Prosessor bruk tid

Variabelt miljø

I de to foregående tabellene inneholdt jeg ikke data som antall støy i signalet. Hvis du sammenligner kompleksiteten til repetisjon av samme rekkefølge når du trykker på tastene (en etter en annen) og musens bevegelse (piksel bak pikselet), er det åpenbart at i det andre tilfellet er feilene mye mer. I grafiske grensesnitt kompenseres dette ved å gjøre mindre strenge semantikk. Tenk deg om knappene "OK" og "Avbryt" var tilgjengelige for sone klikkene bare 1 pikselbredde.

Det er mulig å komplisere analysen ytterligere hvis du vurderer endringen i andelen feil i brukere med fysiske funksjonshemninger.

  • Så, vi betraktet som en av de mulige måtene å vurdere og sammenligne grensesnitt. Basert på eksemplene ovenfor og deres egen erfaring, la meg gjøre flere ekstrapolerende:
  • Folk foretrekker grensesnitt som ikke er for strenge når de mottar informasjon, spesielt hvis grensesnittet ikke er kjent.
  • Ikke for strenge grensesnitt brukes oftere feilaktig.
  • Omfattende grensesnitt Hosting Store mengder informasjon ser kraftig ut, men brukes ofte feil.
  • Hvis samspillet blir kjedelig, prøver folk å overføre informasjon til grensesnittet bypass.

Når du samhandler, omgå grensesnittet, gjennom abstraksjonslekkasjer, er fremveksten av ubehagelige overraskelser ekstremt sannsynlig.

Tørking og begrensede grensesnitt

Jeg vil beskrive flere observasjoner basert på analysen fra forrige seksjon. Men først vil jeg gi et par definisjoner:

Det lekkede grensesnittet (LEAKY-grensesnittet) er et grensesnitt som ignoreres under noen interaksjoner mellom systemet og miljøet.

Et begrenset grensesnitt (spesifikt grensesnitt) er et grensesnitt med et relativt lite antall mulige innganger og utganger.

Et godt eksempel på et begrenset grensesnitt -

Piecewise spesifiserte funksjoner

definert bare for et lite antall inngangsdata.

Hvis du med rimelighet kan vurdere "hullene" eller "begrenset" -grensesnitt, er det fornuftig å skissere rekkevidden, i den ene enden vil være svært begrenset og inaktive grensesnitt, og på den andre - ubegrenset og lekkasje.

Du har sannsynligvis noen til å flytte til venstre eller høyre på skalaen, men viktigst, du grep ideen. Du kan til og med knuse i to separate skalaer: i henhold til graden av hull og rigor. Selv om disse to konseptene generelt korrelerer godt.

Den neste korrelasjonen jeg vil tilby, er avledet av min erfaring. På venstre kant av "FEIL" -skalaen er mindre vanlig, og vanligvis oppstår de på grunn av feil

Validering

.

. På høyre kant av feilskalaen forekommer oftere, og ofte ligger deres grunn i feilene når

bekreftelse

Asymptotisk kompleksitet av teknisk gjeld

Jeg starter med uttalelsen:

Hoveddelen av den tekniske gjelden oppstår i prosjektet eller på grunn av uakseptabelt bistand på lekkasjen av abstraksjoner, eller på grunn av de ekstremt utrolige grensesnittene, som i stor grad kompliserer prognosen av konsekvensene.

I begynnelsen inneholder prosjektet en eller to moduler, og for å studere en god grensesnittavtale, må du utføre mengden arbeid på (1). Hvis grensesnittet ditt er dårlig, vil volumet av teknisk gjeld også være lik (1), så du trenger ikke å bruke for mye tid på å bringe grensesnittkontrakten. Men med en lineær økning i mengden moduler, kan volumet av intermoduliske bindinger oppnå O (N ^ 2). Derfor, med et dårlig grensesnitt, hvis hver modul interagerer med alle andre moduler, vil antall klager til grensesnittet i verste fall være proporsjonal med N ^ 2.

Som det fremgår av grafene, blir det først lagret på å skape et godt gjennomtenkt grensesnitt. Men denne seieren går raskt tapt på grunn av de økende problemene forbundet med intermodulinteraksjon. Mengden arbeid på grunn av dette øker til graden av mengde moduler, mens det med et godt grensesnitt vokser lineært. Det verste scenariet - når hver modul kommuniserer med hver modul, er det flere problemer i ferd med Hendeshka, herfra og stengler.

Vanligvis vokser nivået av intermodulisk interaksjon langsommere enn O (N ^ 2), men det er definitivt raskere enn om (N). Det er også en faktor som skifter begynnelsen av rask vekst i fremtiden: Dette er menneskelig minne. Selv når det er 20 moduler i prosjektet, husker du sikkert at det gjør hver av dem. Så, av alle kontrakter trenger du bare de tåke navnene på funksjoner og esoteriske avtaler. Men så snart prosjektet blir ganske stort, blir mange detaljer glemt, eller når nye mennesker kommer til prosjektet - og den kraftige veksten av lønnskostnadene begynner.

  • Hvorfor bruker du fortsatt kommandolinjen?
  • Du vil motta forskjellige svar fra folk til dette spørsmålet, hvorav ingen synes det viktigste:
  • Kommandolinjen er fleksibel og gir mange muligheter.

Det forbruker mindre ressurser.

Dette gjør at du bedre kan forstå hvordan alt fungerer.

Det viktigste er hvorfor vi fortsatt bruker kommandolinjen, det er

AUTOMASJON!

Det er neppe mulig å overvurdere fordelene ved å bruke automatiserte prosesser. Hvis jeg trenger å kjøre en klynge til 100 servere, vil jeg ikke koble til hver av dem individuelt og manuelt installere programvare, og klikk på en haug med knapper i utallige GUI. Selv om du trenger å automatisere Clichan-prosessen i GUI, trenger du en annen fil der informasjon vil bli lagret på hvor og hvordan du klikker. Noe som en fleksibel fil ... lag.

Selv om vi kunne implementere automatisering gjennom klikk og på skjermen grabbers, må vi ikke glemme at denne typen interaksjon med maskinen er oppfunnet for folk. Det innebærer bruk av et ikke-strengt grensesnitt som ikke krever høy nøyaktighet. Derfor vil din automatiserte clicker sikkert bli brukt hvis vinduet plutselig beveger seg fra sin posisjon eller systemet skrifttypen vil endres. Med GUI er for mange variabler tilkoblet. Og kommandolinjen lar deg handle mye mer nøyaktig, du samhandler gjennom et svært strengt grensesnitt. Derfor liker mange mennesker ikke ham, i motsetning til dataprogrammer.

Selvfølgelig er det situasjoner hvor den lave nøyaktigheten av samspillet mellom GUI er bra. For eksempel, når du lager digitale malerier, trenger du ikke å bekymre deg for plassering og farge på hver piksel. Det viktigste er å være

noe

Spesiell for hver piksel. Derfor blir støyen som overføres med hånd som beveger markøren viktig informasjon i sluttproduktet.

Velge riktig språk

Etter avsnittet om den asymptotiske kompleksiteten i teknisk gjeld, kan du kanskje tro at ethvert prosjekt må skrives på et språk med svært strenge forhold for grensesnittkontrakter, som Haskell eller Java. Men dette er ikke akkurat det jeg ønsket å formidle. Svaret på det neste spørsmålet kan hjelpe deg med å gjøre det riktige valget.

Hvor sannsynlig å endre kravene til prosjektet ditt?

I begynnelsen av det nye tilfellet vil svaret sikkert være "veldig sannsynlig", spesielt hvis et lite produkt er opprettet, og til og med med tvetydigheten i sine prospekter i markedet. Hvis kravene er tydelig formulert som for eksempel, når det gjelder å skape en kompilator eller utvikling av et prosjekt basert på internasjonale standarder, vil svaret sikkert være "ikke så sannsynlig".

Hvis du svarte "veldig sannsynlig", bruk et språk som lar deg miste mindre tid når du spesifiserer grensesnittkontraktene: de vil sikkert fungere mot deg i tilfelle endringer i kravene. Men hovedoppgaven her er ikke å få den ideelle implementeringen av kravene, men de ideelle kravene som tillater deg

å begynne

Skape endelig implementering. Et unntak kan være en situasjon der MVP er et stort system med hundrevis av moduler. Hvis mange mennesker er involvert i prosjektet, er et godt grensesnitt bare nødvendig for at de skal komme til hverandre.

Hvis du svarte "ikke så sannsynlig", bruk et språk med svært strenge grensesnittkontrakter. Først må du jobbe mer, men da vil innføringen av nye muligheter kreve mindre innsats. Det eneste unntaket kan være en situasjon hvis du skriver litt lite produkt (flere hundre strenger).

Noen ganger ble brutt ganske mange eksemplarer angående hva Twitter begynte å skape på Ruby på skinner, og så var det grunnen til prosjektets skalering. Senere ble Twitter oversatt til Scala. Noen kan anta at utviklerne gjorde en feil, og de skulle umiddelbart velge Scala. Jeg tror ikke det. I hjertet av Twitter ligger en veldig enkel ide, og i forholdene til et stort antall konkurrenter trengte de å vinne den dominerende posisjonen i markedet. De trengte å vokse så raskt som mulig, til tross for utgifter. Utviklingssyklusene i nye funksjoner bør ha bestått mest mulig raskt, da det tillater det på kortest mulig tid å forstå hva som egentlig trenger brukere, hvilket produkt de vil ha som et resultat for å få. Vanskelighetene med skalering er et tegn på ikke feil, men suksess. Twitters visjon ble formulert som et ferdig produkt, og det forble bare å realisere det. Fra utviklere synspunkt er det bare en nirvana, alle drømmer om en slik ting, men få mennesker klarer å jobbe i slike forhold: "Forstå denne dritten fra grunnen på ditt favorittspråk, da det er praktisk for deg, hvis bare I fremtiden var det lettere å jobbe med ham. " Det er mye lettere å omskrive noe fra grunnen av, ha en svakere implementering før øynene våre enn å prøve å legge til et produktlook, som vil tillate selskapet å ta av. Dessverre går flertallet av markedsdeltakere bare ved å unngå "unødvendige" kostnader for å skape fra bunnen av og bruke mye styrke og tid på skalering at den opprinnelig var umulig å skalere.

Hvorfor er så populær python?

I seksjonen på hullene og strenge grensesnitt snakket jeg om metoden for klassifiserende grensesnitt, avhengig av deres tendens til å lekke av abstraksjoner, så vel som hvor streng kan være grensesnittdefinisjoner. Og jeg påpekte det faktum at mer "vennlige" og "produktive" grensesnitt er mye mer utsatt for lekkasjer enn den andre delen av grensesnittspekteret.

Jeg tror at Pythons popularitet oppstår fra det faktum at det er et utmerket innledende språk som gir ekstremt enkle grensesnittkontrakter. Av samme grunn, med en økning i prosjektet på Python, blir det mer og vanskeligere.

Python er veldig populær i det vitenskapelige samfunn og blant elskere eksperimentere med numerisk analyse. Selve essensen av forsøket krever konstant forbedring i det opprettede produktet, og strenge grensesnitt sakte.

Hvorfor skriver bedriftens programvare vanligvis på Java / C ++?

I delen om hullene og strenge grensesnitt snakket jeg om kompromisser forbundet med ulike typer grensesnitt. Java og C ++ er mer til den strenge delen av spekteret, i motsetning til Python eller Ruby. Ja, lekkasjer kan ha lekkasjer, og det er strengere språk (samme haskell), men Java og C ++ er mer balansert fra synspunktet for skalerbarhet, vennlighet og tekster. I tillegg tillater disse to språkene deg å være fleksibel for å kontrollere ledningene til grensesnitt, avhengig av prosjektavtalen. For eksempel, å lage variabler eller funksjoner med privat, offentlig eller beskyttet.

Hvordan kutte hjørnene

Hvis du vil ta med noe fra denne artikkelen, vær så snill: Når du trenger å kutte hjørner i prosjektet, gjør det inni

Salg

og vend rundt B.

  • veldig bra
  • grensesnitt. Selv om implementeringen ikke er for god og dets problemer strømmer inn i andre deler av systemet, så er dette et dårlig grensesnittproblem! Slik at det ikke er noen misforståelser, la listen over hva jeg mener under grensesnittene:
  • Prototyper av funksjoner.
  • "Grensesnitt" Java.
  • Offentlige klasser metoder.
  • Variabler av offentlige komponenter.
  • Header Files (.H) i C / C ++.
  • Relful API-endepunkter.
  • URL-ruting.
  • Offentlige aspekter av "modeller" eller "pakker".

Logisk databasestruktur (DDL).

Og mye mer.

Konklusjon

Som du kan se, er grensesnittkonseptet ekstremt viktig og har en stor innvirkning på utviklingen av prosjektet innen juridisk beskyttelse, produktivitet og antall filosofiske relasjoner med andre aspekter av systemstrukturen. Spør andre programmerere som de tenker på grensesnitt, og hør på alle slags ting.

Brukergrensesnittet er middel for samhandling mellom mennesker og en datamaskin. Snakker med enkle ord, er grensesnittet den ytre delen av programmet eller enheten som brukeren fungerer på. Ordgrensesnittet - Patron med engelsk grensesnitt, det vil si "Border Link".

Ofte, under ordgrensesnittet innebærer brukergrensesnittet. For eksempel sier de: "Denne nettbutikken har et ubehagelig, forvirrende grensesnitt." Dette betyr at butikken er ubeleilig å samhandle. For eksempel er det vanskelig å finne de nødvendige varene, det er ikke klart hvordan du legger inn en bestilling, siden lagrer ikke de tidligere oppgitte dataene, etc.

Eksempler på bruk:

Mange brukere vil gjerne returnere det gamle grensesnittet "VKontakte", de liker ikke den nye.

Programmet har et intuitivt grensesnitt - umiddelbart klart hvor du skal trykke og hva det vil føre til.

Windows-grensesnittet er svært komplisert: uerfarne brukere er forvirret i en haug med innstillinger.

Webgrensesnitt er en side på Internett som gjør at brukeren kan samhandle med litt service eller enhet direkte gjennom nettleseren. For eksempel, ved hjelp av webgrensesnittet, kan du bruke nettbanken: Gå til banksiden, skriv inn innlogging og passord, og deretter oversette penger mellom kontoer, betale for tjenester, etc.

Maskinvare og programvare grensesnitt. Hva er USB- og API-grensesnittet I tillegg til brukergrensesnittet er det et programvaregrensesnitt (samspillet mellom programmer med hverandre) og maskinvaregrensesnitt (metoder for samspillet mellom fysiske enheter, "Iron"). Når de sier om maskinvaregrensesnittet, betyr de vanligvis kontakter gjennom hvilke enhetene kan kobles til hverandre. For eksempel betyr "Tilkobling via USB-grensesnitt" Tilkobling av enheter

Universal Sequential Tire.

beregnet for tilkobling av perifert utstyr. Gjennom en USB kan du for eksempel koble et tastatur, mus, kamera eller smarttelefon til en datamaskin.

Maskinvare Grensesnitt - USB-kabel

Programgrensesnittet er en måte å samhandle programmer på. For eksempel er API (Application programmeringsgrensesnitt, programmeringsprogrammeringsgrensesnittet) et sett med kommandoer som gjør det mulig for programmer å automatisk bytte data uten folks deltakelse. Ett API-program sender en forespørsel, en annen reagerer på henne.

For eksempel viser på nyhetsstedet valutakurser som endres i sanntid. Dette betyr ikke at nettstedredigeren hver gang manuelt endrer tallene på siden. Nyhetsstedet selv sender en API-forespørsel til en server med en valutaveksling og mottar nødvendige tall derfra.

Typer brukergrensesnitt. Grafisk, tekst og andre

Tekstgrensesnittet er en måte å kommunisere en person med en datamaskin med kommandoutskrift. For eksempel, i MS-DOS-operativsystemet, var grensesnittet tekstlig - brukeren ringte de nødvendige kommandoene på tastaturet, og maskinen utførte dem.

MS-DOS Text Interface - Kommandolinje

Problemet med tekstgrensesnittet er at brukeren må kjenne de nødvendige kommandoene, og hver gang skriver du dem manuelt uten feil. Delvis av denne vanskeligheten eliminert skallet for MS-DOS - for eksempel Norton Commander.

Norton Commander - Filbehandling for MS-DOS. Du kan ikke bare skrive kommandoer på tastaturet, men jobbe med filer ved hjelp av tastaturgenveier.

Snart oppstod grafiske grensesnitt hvor brukeren samhandler med visuelle objekter: knapper, ikoner, bilder på skjermen. Windows-operativsystemet bruker et grafisk grensesnitt: Brukeren klikker på ikonene på ikoner - piktogrammer som skildrer filer og programmer.

Windows 3.11 grafisk grensesnitt

Materialgrensesnittet er en måte å samhandle med en datamaskin ved hjelp av konkrete strukturer. For eksempel er en datamus eller joystick et materialgrensesnitt. Flytter musen på bordet, vi beveger samtidig markørpilen på skjermen.

Materialgrensesnitt - Computer Mouse. Foto: Depositophotos.

Stemmegrensesnittet er kontroll ved hjelp av talekommandoer. Human Voice i dag kjenner til og med mobiltelefoner. For eksempel, Siri fra Apple, Googles stemmeassistent, "Alice" fra Yandex

Stemmegrensesnitt - Apple Siri. Siri er en reduksjon fra talefortolkning og anerkjennelse grensesnitt (talegenkjennelse og tolkningsgrensesnitt). Foto: Depositophotos.

Et instrumentgrensesnitt lar deg gi kommandoer, lage bevegelser med fingeren, hånden, datamusen, spesialkontrolleren etc.

Installasjonsgrensesnitt - Nintendo Wii-spillkonsoll, hvis kontroller reagerer på brukerens bevegelse.

Det taktile grensesnittet gjør at brukeren kan oppleve taktile opplevelser (trykk, vibrasjon, etc.) og samhandle med datamaskinen med hjelpen.

Virtual Reality Hansker - et eksempel på et taktilt grensesnitt. Foto: NASA.

Det nevrale grensesnittet lar deg sende kommandoer med elektrodene lintet inn i hjernen. Toveis nevrale grensesnitt kan ikke bare ta informasjon fra hjernen, men også for å sende den til hjernen - for eksempel gjennom øyets netthinnen.

Jens Naumann - blind, i stand til å "se" med en neural visuell protese. Kameraet fanger bildet og sender den behandlede versjonen i den visuelle barken i hjernen gjennom elektrodene.

Kian Rivz i filmen "Matrix" (1999). Heroes nyter neurointerface for å komme inn i den virtuelle virkeligheten - matrisen.

Cybebeis - grensesnitt i form av virtuell virkelighet. Ramme fra den fantastiske filmen "Johnny Mnemonic" (1995)

Velkommen til deg, venner! Ordet "grensesnitt" på ryktet om eiere av PCer og telefoner, men ikke alle forstår det. Vi vil fortelle for tekanner, hva er grensesnittet i datamaskinen og smarttelefonen, hvorfor det er nødvendig, hva skjer med hvordan du bruker den riktig. Ser dette ordet på nettstedet, i beskrivelsen eller i instruksjonene, vil nybegynneren forstå hva vi snakker om og hva de skal gjøre neste gang.

Bølge

Hva er grensesnittet som det trenger

Oversatt fra engelsk grensesnitt - interaksjon. Hvordan skrive på russisk: grensesnitt (noen ganger er infabene skrevet - det er feil). Normal definisjon er en vanlig grense mellom to funksjonelle objekter. For eksempel kommer en mann bak hjulet på bilen hans, bytter girkassen - dette er samspillet med maskingrensesnittsystemet. Girkasse som leder mellom driver og bil.

  • I datavitenskapen er betydningen av ordet dypere brukerinteraksjonsverktøyene med spillet, programmet eller operativsystemet, metodene for å kontrollere driften av databehandlingsmaskinen. Takket være grensesnittet vil en person finne ut ethvert program eller tekstredigerer. Hvis vi har arbeid med Paint Graphics Editor, er det enkelt å mestre andre lignende programmer, da de har en lignende struktur.
  • Grunnleggende grensesnittoppgaver:
  • inngangs- og utgangsinformasjon;
  • styringsprogramvare;

Datautveksling gjennom eksterne transportører;

Kommandoer.

Det bakre panelet på PC-systemet er også et grensesnitt som lar deg koble til andre enheter.

Brukeren inneholder en datamaskin og ser ikonene foran ham: "Min datamaskin", "Etiketter", "Photo", etc. - Alle disse grensesnittelementene.

Typer av grensesnitt

Grensesnittet kan kort beskrevet som klaring: Hva en person ser foran ham, ved hjelp av en PC eller en telefon. Selv om dette faktisk er dette en systemstruktur, fordi ved å trykke på knappene ved å klikke på menyelementet, går brukeren til hvor den trenger: kamera, galleri, kontakter, meldinger. Dens formål er en effektiv, hyggelig bruk av en elektronisk enhet eller et nettsted.

Video.

  • Det finnes forskjellige typer grensesnitt, som vi vil fortelle videre.
  • Den vanligste:
  • kommandolinje;
  • Grafisk og tekstgrensesnitt;
  • etter type ledelse (gesturing, stemme, taktil og nevral);
  • program;
  • maskinvare;
  • maskinvare programvare;
  • bruker;
  • Web;
  • spill;

materiale;

Kommandolinje

i telefoner.

Hva er grensesnittet enkle ord

Hvis du trenger å nevne og oppgi typer moderne grensesnitt, vil denne informasjonen bidra til å sette ut alt riktig og gjøre en god presentasjon.

Dette er en egen programvare som er en del av våren og sikrer forholdet mellom brukeren og operativsystemet. Takket være ledeteksten kan du utføre datamaskinkommandoer. Dette er en kommunikasjon med maskinen på sitt språk.

Av manglene - du må vite kommandoene, hver gang du ringer dem uten en enkelt feil. Fordelen er muligheten til å legge inn kommandoer uten deltakelse av den grafiske strukturen, som gir ekstra muligheter.

Kommandolinjen (konsollgrensesnittet) starter i skallet, for eksempel i BIOS. Hovedruten til sin beliggenhet: C: \ windows \ system32 \ cmd.exe. Den vanlige Yowseren trenger ikke å være bevisst hvor kommandolinjen er plassert og hvordan det fungerer, og for fagfolk er det hovedverktøyet, siden det hjelper med datamaskinen med virus, Windows restaurering og i andre tilfeller.

En enkel metode for å finne kommandolinjen: Trykk på samme tid på Win + R-tastene, i CMD-vinduet som vises.

Kommandogrensesnitt

Grafisk og tekst

  • Grafisk (ENG. Grafisk brukergrensesnitt, GUI) brukes i alle operasjoner, i de fleste applikasjoner. Ofte kalles det WIMP - dette er en forkortelse fra de første bokstavene i Wordwow, ikonet, menyen, pekeenheten (manipulerende enhet).
  • Hovedelementer:
  • Meny;

lister;

Piktogrammer (tegninger, ordninger).

På Windows Windows er brukeren på ikoner, piktogrammer som skildrer programmene og filene et grafisk grensesnitt, noe som gir gode muligheter til hver bruker. Du trenger ikke å skrive inn noen kommandoer. For praktisk interaksjon, brukes en datamaskinmus.

Du må skille grafikk fra det visuelle grensesnittet, som representerer systemet som et sett med visuelle bilder - det kan være et ikon eller påskriften som ligger i et bestemt skjermområde. Den visuelle strukturen bruker ikke nødvendigvis grafiske mappings. Den visuelle strukturen kan være grafisk og tekst.

Tekst bruker når du skriver inn og gir informasjon, et sett med bokstaver / tall, tegn på pseudografisk. Den bruker alle grunnleggende grafiske designelementer: avmerkingsbokser, knapper som slipper lister, etc. Forskjellig med små krevende tekniske ressurser, høyhastighetsdata. Tekstgrensesnittet er en type bruker, mens kommandolinjen er en del av teksten.

I det enkleste tilfellet bruker tekstgrensesnitt en kommandolinje, men mange programmer med interaktive elementer gjør en mer vennlig, forståelig design, som nærmer seg bekvemmelighet til grafisk.

Noen programmer støtter det utviklede vinduesystemet, for eksempel Turbo Vision, D-Flat, Cscape, mange har byttbare designemner (DOS Navigator), samt evnen til å bruke forskjellige interaktive interaksjonselementer (joystick, mus).

Gesturing, stemme, taktil og nevral

  • Brukeren styrer datamaskinen og gir kommandoer med forskjellige metoder: bevegelser, stemme, etc.
  • Derfor er typen kontroll utpekt:
  • Årlig grensesnitt. Kontaktelementer er grafiske tabletter, berøringsskjermer og andre teknologier som reagerer på bevegelsene til fingrene;
  • Voice Interface betegner talestyring. Eksempler er: Siri fra Apple, Alice fra Yandex;

taktil når samspillet er basert på taktile opplevelser, oppnå sensitiv tilbakemelding (vibrasjon, trykk);

Neuronal - overføring av kommandoer gjennom elektroder lintet inn i hjernen. Informasjon kan tas fra hjernen og overføres til det, for eksempel gjennom øyethinnen. I praksis er Neurointerface i stand til å lette livet til lammede pasienter hvis hjerne fungerer bra. NeurointerFace gjør det mulig for dem å utføre konkrete handlinger, lese sine intensjoner ved hjelp av elektroder som er koblet til hjernen.

Grafisk systemgrensesnitt

Programvare, maskinvare, maskinvare og programvare

  • Grensesnittsystemet gir kontakt selv mellom Progs og -enheter.
  • Det er 3 grupper:
  • Programmeringsgrensesnitt (engelsk. Programmeringsgrensesnitt) er samspillet mellom programmer mellom seg selv. Spesielt API- eller applikasjonsprogrammeringsgrensesnittet - Metoder for utveksling av data mellom dataprogrammer (en sender en forespørsel til API, en annen responder). Nyhetsportalen viser valutaer. Ikke redaktøren er ansvarlig for dette (han må manuelt endre tallene), og API som nettstedet sender en forespørsel til valutavekslingen, mottar et svar;

Maskinvaren er designet for å samhandle fysiske enheter med hverandre av slots, kontakter, gateways. USB (Universal Sequential Dekk) er det mest kjente eksemplet. Gjennom det koble til PC-telefon, kamera, mus;

Maskinvare-programvare er samspillet mellom noder, elementer under programkontroll.

Brukergrensesnitt

Hva brukeren kontakter hva han ser foran seg selv, hvor den klikker - dette er brukergrensesnittet. Dette er den ytre delen av enheten eller programmet som brukeren fungerer på.

Ofte, under ordgrensesnittet innebærer bruker (brukergrensesnitt). Det skjer at besøkende på stedet sier: "Det er en forvirrende, ubehagelig registrering eller meny." Så, siden er ubehagelig å kontakte: Det er vanskelig å finne riktig element, kassen bestillingen, last ned dokumentet. Den forståelige strukturen er når en person umiddelbart ser hvor du skal klikke, vet hva det vil forårsake det. Men med Windows har mange nybegynnere problemer, fordi utformingen av denne OS-undersøkelsen, er uerfarne brukere forvirret i innstillingene. I 1c-plattformen brukes to forskjellige brukergrensesnittmekanismer i forskjellige 1C-klienter.

Kommandolinje, grafikk, tekst, stemme, gesturing, taktil, nevral, prosessorisk - Alt dette er inkludert i brukergrensesnittet. Under kontrollen går brukeren inn i dataene i PCen, idet informasjonen på skjermen vises, skriveren. Det er enda et grensesnitt av regnearket - dette er et element som en person ser, kjører, for eksempel OpenOffice.org Calc-applikasjonen.

Men det er noen flere typer brukergrensesnitt.

Maskinvaregrensesnitt

Web, spill

Webgrensesnittet er en nettside (ett eller et sett) som representerer en struktur for kontakt med en server eller en enhet via en HTTP-protokoll og en nettleser. For eksempel kan klienten gå til banksiden, betale verktøytjenester. Den største fordelen - ikke nødvendig å installere tilleggsprogramvare, fordi operativsystemet går med nettleseren. Du trenger ikke å være forvirret med nettverksgrensesnittet. Under dette begrepet forstås som en virtuell eller fysisk enhet, som er ment å overføre data mellom programmer gjennom et datanettverk (for eksempel VLAN).

Den populære måten å lage et webgrensesnitt er bruken av HTML med CSS og JavaScript'a. Brukte også Adobe Flash, Java Applets eller Silverlight.

En annen type er spillgrensesnittet - er tilknyttet Gamedizayn, selv om det går utover sin kompetanse. Spilleren og spillet er bebodd i forskjellige universer, og spillstrukturen er poenget med deres gjensidig kontakt. Med det får gameren den nødvendige informasjonen fra spillet, og det tar spillerens handlinger.

Materiale

Material eller taktil grensesnitt er en annen type bruker. Dette er en kontakt av en person med elektronikk med konkrete strukturer. For eksempel beveger en mus som beveger en person samtidig pilen på markøren på skjermen.

Varianter av grensesnitt

Grensesnitt i telefoner

Den samlede stilen på mobilenhetsgrensesnittet er karakterisert som SIMP (skjerm-ikon-meny-pointer). På mobile Windows-plattformer er elementene i strukturen som okkuperer hele skjermen. Overgangen mellom vinduene utføres av grafiske elementer eller trekke med en finger.

  • Funksjonene ved utformingen av SIMP er forklart av OS-spesifikasjonene.
  • Det vanligste OS for gadgets:
  • Android;
  • Eple ios;
  • WindowsMobile;
  • Palm OS;

Symbian OS;

BlackBerry OS.

Russland er populært - Android, Apple iOS, WindowsMobile. Men produsentene bruker sine typer grensesnittsystemer og blokker, hovedgrunnen er branding. Androides evne til tilpasning betyr at produsenter av bedriftsutstyr kan gjøre endringer i programvare, for eksempel innen funksjonalitet og design.

Ulike systemiske strukturer i mobile enheter påvirker ikke stor erfaring med eierens erfaring, fordi de er laget for å løse universelle oppgaver. Forskjell i settet av applikasjoner.

Grensesnittet til mobilenheten inneholder også hodetelefonkontakter, lading, stemmehjelpere - mye av det som er basert på PC-arbeidet, bare dette justeres for gadgets. Men i smarttelefoner er det mange nye strukturer, for eksempel NFC (NFS) - strukturen til den trådløse kommunikasjonen.

Hva betyr grensesnittet språk

Det er ikke verdt å forvirre det med språkene som er installert når du skriver tekstmaterialer.

  • Grensesnittspråket er det som brukes når du legger i operasjonene, i menyen, i dialogboksen, feilvinduer og referanser. Det kan endres hvis minst 1 ekstra en er installert på hovedspråket.
  • En enkel måte å finne ut hvilke språkvinduer som står på en PC:
  • Åpne "kontrollpanelet";

Tab "språk";

Tildelt hovedspråket som brukes nå. Det kan endres eller legge til en ny.

funn.

For en person er grensesnittet grunnlag for å jobbe med en PC eller en telefon. Og dette er en måte å samhandle mellom programmer og utstyr på. Enkelheten i systemstrukturen avhenger, om det er enkelt å administrere enheten. Utviklere kommer opp med ulike design og strukturer, noe som gjør dem mer eller mindre hyggelige, intuitive for folk. IT-eksperter kan gjøre endringer i noen strukturer eller bruke dem til å løse alvorlige oppgaver, og uerfarne brukere kan kjøpe for seg selv enheten med et intuitivt grensesnittsystem for å lette arbeidet og spare tid.

Grensesnittet er ofte sagt når de betyr samspillet mellom en person og datamaskin eller applikasjoner. I artikkelen vil vi analysere definisjonen av grensesnittet, som er for interaksjoner, deres typer og funksjoner.

  • Hva er grensesnittet

  • Grensesnittet er en "dirigent" mellom mann og et program, et operativsystem, en teknisk enhet eller en metode for samhandling mellom applikasjoner mellom seg selv. En person gir kommandoer ved hjelp av grensesnittet, enheten analyserer dem og reagerer. De viktigste oppgavene som den er beregnet på:

  • Skriv inn og vise informasjon (lyd, bilde);

  • Ledelse av individuelle applikasjoner;

Datautveksling med andre enheter;

Typer av grensesnitt

Samspill med operativsystemet.

Kommandolinje

Grensesnittet innebærer samspillet mellom ikke bare mennesker og teknologi, men også et dataprogram, programprogram, datamaskinenheten. For eksempel, når enheter er koblet til datasystemet, som interaksjonsmetoden bruker kontakten.

Noen typer interaksjon tillater deg å få mer kontroll over en datamaskin eller smarttelefon, men krever ekstra ferdigheter. Andre er mer komfortable, men gir mindre muligheter. Hver type har sine egne egenskaper.

Kommandolinjen (konsollgrensesnittet) starter i skallet, for eksempel i BIOS. Hovedruten til sin beliggenhet: C: \ windows \ system32 \ cmd.exe. Den vanlige Yowseren trenger ikke å være bevisst hvor kommandolinjen er plassert og hvordan det fungerer, og for fagfolk er det hovedverktøyet, siden det hjelper med datamaskinen med virus, Windows restaurering og i andre tilfeller.

Gjennom kommandolinjen kan du utføre det maksimale antall operasjoner, er en direkte måte å kommunisere med operativsystemet. For å skrive inn kommandoen må du skrive inn teksten i datamaskinen og trykk enter, datamaskinen begynner å utføre.

Minusmetoden er at den bare er egnet for trente brukere. I kommandolinjen er det ingen ekstra grafiske elementer, det må mestre språket for samhandling, og kommandoene fungerer ikke kan forveksles.

Grafikken forenkler samhandling med datamaskinen, det er mye lettere å jobbe med det og mer behagelig enn med teksten. I rollen som det grafiske grensesnittet, er slike elementer:

I det enkleste tilfellet bruker tekstgrensesnitt en kommandolinje, men mange programmer med interaktive elementer gjør en mer vennlig, forståelig design, som nærmer seg bekvemmelighet til grafisk.

Når du for eksempel samhandler med Windows, bruker ikoner og vinduer, er musen koblet til å taste inn. På smarttelefonen er inngangsenheten en berøringsskjerm.

Tekstgrensesnittet bruker ikke bildene: Kommandoer er gitt ved hjelp av tekst og informasjon er gitt i tekstform.

Gestursinteraksjonen gjør at du kan gi kommandoer til bevegelsene til fingrene. Den brukes når du arbeider med en berøringsskjerm på en smarttelefon. For eksempel gjør "UP" -gesturen popup-vinduet.

Stemmegrensesnitt er en talestyring. Gadgeten gjenkjenner og utfører lydkommandoer.

taktil når samspillet er basert på taktile opplevelser, oppnå sensitiv tilbakemelding (vibrasjon, trykk);

Taktil innebærer samhandling ved hjelp av å berøre: vibrasjon eller følsomhet for å trykke.

Det nevrale grensesnittet overfører kommandoen direkte fra hjernen til datamaskinen, for dette er elektrodene implantert i hjernen. Den brukes i medisin: så en lammet person kan kommunisere med omverdenen.

Maskinvaren er designet for å samhandle fysiske enheter med hverandre av slots, kontakter, gateways. USB (Universal Sequential Dekk) er det mest kjente eksemplet. Gjennom det koble til PC-telefon, kamera, mus;

Programinteraksjon med hverandre gir et programvaregrensesnitt. Programmer sender forespørsler til hverandre og mottar svar. For eksempel, for å stadig vise relevant vær i en widget eller på en datamaskin, sender ett program konstant en forespørsel til en annen, og den gir friske data.

Maskinvaren er ment for organisering av kommunikasjon mellom fysiske enheter gjennom kontakter og spor. Og når datamaskinen leser informasjon fra en harddisk - dette er et felles arbeid i programmet og den fysiske enheten, det vil si maskinvare- og programvaregrensesnittet.

Alt, som den vanlige brukeren samhandler når den inkluderer en datamaskin, går inn i nettstedet eller i programmet, alt som en person ser på skjermen, er et brukergrensesnitt.

Web, spill nettsted

Den populære måten å lage et webgrensesnitt er bruken av HTML med CSS og JavaScript'a. Brukte også Adobe Flash, Java Applets eller Silverlight.

Webgrensesnittet lar deg jobbe gjennom nettleseren. Dette er samspillet mellom programmer på Internett. For eksempel kan du gå til butikkens nettsted og betale kjøpene. Nettleseren i dette tilfellet vil være et webgrensesnitt, takket være hvilke sider som samhandler.

Materiale

Spillet er hvordan brukeren kan samhandle med spillet hvilke kommandoer som kan gi, i hvilken form spillinformasjonen presenteres og hvordan spillet vil svare på handlinger.

Hva skal være grensesnittet

Dette er en taktil kontakt med gadgets. Den inneholder berøring av berøringsskjerm, handlinger med en mus eller joystick.

Logisk databasestruktur (DDL).

Smartphones bruker en berøringsskjerm som innebærer gesturing og taktile grensesnitt. Brukeren berører elementene, operativsystemet eller programmet mottar kommandoer fra den og utfører dem.

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