Интерфейс - бұл қарапайым сөздер

Интерфейс - бұл не қажет, бұл не нәрсеге, интерфейстердің түрлері

4 қаңтар, 4, 2021 ж.

Сәлеметсіз бе, құрметті блог оқырмандары ktonovenkogo.ru. Бұқаралық компьютер дәуірінде соңғы тенденцияларды сақтау және білімдегі алшақтықты үнемі толықтыратыны маңызды.

Интерфейстің мақсаттары мен контекстіне сәйкес келуі маңызды. Егер бұл маманның компьютермен қарым-қатынасы болса, онда бастысы ақпарат беру және міндеттерді орындау мүмкіндігі болып табылады. Қарапайым пайдаланушы үшін оның техникалық ғана емес, сонымен қатар эстетикалық құндылық бар: онымен жұмыс ыңғайлы және түсінікті болуы керек.

Сіз апатқа ұшырағыңыз келмейді ме? Бүгін біз ДК-мен байланысты тағы бір терминді қарастырамыз.

Мен интерфейс ретінде осындай нәрсені түсіндіруге тырысамын: не және неге қажет. Сонымен, бастайық.

Интерфейс ...

Барлық жаңа фразалар сияқты, «Интерфейс» сөзі бізге ағылшын тілінен келді. Аударылған интерфейс көрсетеді » Байланыс орны «

Интерфейс дегеніміз - пайдаланушыға компьютердің амалдық жүйесімен, мобильді құрылғыға немесе басқа жабдық түрлерімен өзара әрекеттесуге мүмкіндік беретін құралдар жиынтығы.

Интерфейс ...

Мұндай құрал ретінде Өзара әрекеттесулер әрекет ете алады:

  1. Мәтін өрістері;
  2. түймелер мен кенелер;
  3. ашылмалы тізімдер;
  4. қалқымалы кеңестер;
  5. Қосқыштар;
  6. Бағдарлама немесе сайт мәзірінің элементтері;
  7. және тағы басқалар.

Бұл интерфейс қандай жеміс-жидекті жақсы түсінікті болу үшін көрнекі мысал қарастырады. Сіз алыс жиектерде демалыс күндері және қонақүйді Интернет арқылы алдын-ала брондауды шешесіз делік.

Сайтқа келіңіз, сонда сіз бірнеше интерфейс күтесіз: іздеу, іздеу, нәтиже, жеке мәліметтерді, төлемді енгізу. Қонақ үй брондау сайтымен өзара әрекеттесудің әр кезеңінде пайдаланушы деректермен жұмыс істейді және белгілі бір әрекеттерді орындайды.

Неліктен маған интерфейс керек? Бәрі қарапайым, бұрынғыдан да көп: бағдарламаны, сайтты және басқа өнімді, бақытты пайдаланушыларды пайдалану ыңғайлы.

Тиісті интерфейс сонымен қатар сізге коммерциялық учаскелерде сатуды көтеруге мүмкіндік береді, өйткені келушілер сайтты пайдаланудың алғашқы секундтарында қойынды жабылмайды.

Жақсы дизайн бар сайттар пайдаланушылардың арасында үлкен танымал, көп келеді, сондықтан олардың иелеріне ең жақсы табыс әкеледі.

Интерфейстердің түрлері

Интерфейс келесі түрлер бойынша бөлінеді:

  1. Пәрмен жолы . Бұл пайдаланушы мен дербес компьютер арасында өзара әрекеттесудің ең көне және көп уақытты қажет ететін әдісі. Сонымен бірге, пәрмен жолы интерфейстің ең сенімді түрі болып қала береді.
    Пайдаланушылар үшін интерфейс компьютермен немесе телефонмен жұмыс істеу негізі болып табылады. Бұл жүйенің қаншалықты қарапайым немесе күрделі болса, құрылғыны басқаруға ыңғайлы болу керек. Әзірлеушілер жүйелік құрылымдарды күрделі тапсырмалар бойынша өзгерте алады. Тәжірибесіз пайдаланушылар, өз жұмысын жеңілдету үшін нақты интерфейсімен құрылғыларды сатып алған дұрыс.

    Машинамен байланыс оның тілінде кездеседі. Пәрмен жолы кәсіби пайдаланушыларға арналған операциялық жүйелерде қолданылады: мысалы, BIOS-те.

  2. Графикалық интерфейс . Бұл бүгінде «Интерфейс» сөзімен дәл осы. Ол барлық операциялық жүйелерде, бағдарламаларда, веб-беттерде қолданылады.
    Смартфон

    Графикалық интерфейс көмегімен барлық компьютер пайдаланушылары кездеседі. Ыңғайлы өзара әрекеттесу үшін компьютер тінтуірін пайдалану ұсынылады.

  3. Қол қою интерфейсі . Технологиялардың қарқынды дамуы қимылдың интерфейсінің себептерінің біріне айналды. Бұған сенсорлық экрандар, джойстиктер, қаламдар және басқа элементтер кіреді.
  4. Дауыстық интерфейс . «OK, Google» фразасын және кейіннен іздеу сұрауын айта отырып, сіз смартфонның немесе планшеттік амалдық жүйенің дауыстық интерфейсімен араласасыз.
    Пәрмен жолының интерфейсі

    Бұл түрі сонымен қатар жақында технологиялардың қарқынды дамуының арқасында пайда болды.

    Бірақ бүгінде бұл көптеген танымалдылыққа ие, өйткені бұл бірнеше маңызды тапсырмаларды шешуге және құрылғыларды басқаруға мүмкіндік береді (бұл не?) - мобильді құрылғылар, автомобильдер, тұрмыстық техника, компьютерлер - дауыстық командалармен.

Интерфейс не болуы керек

Кез-келген интерфейстің негізгі міндеті - Оңай қолданыңыз Нақты бағдарлама, сайт немесе ұқсас өнім.

Мысалы, веб-порталды әзірлеу кезінде жасау ұсынылады Келесі элементтерге назар аударыңыз :

  1. Көрсетілген элементтердің оңтайлы саны;
  2. жұмыс үстеліне және мобильді құрылғыларға бейімделу;
  3. танымал әлеуметтік желілердің түймелерінің болуы;
  4. Оңтайлы өлшем белгішелері мен түймелер;
  5. Тіркеудің ыңғайлы түрі;
  6. Мәзір элементтерінің интуитивті орналасуы;
  7. Түс немесе ақпараттың акценттерінің болуы;
  8. Сайттағы іздеу жүйесі;
  9. Қажет болса, байланыс деректерінің болуы.

Жақсы ойластырылған интерфейстің жарқын мысалы - ktonovenkogo.ru. Сайтта жақсы түс ерітіндісі, интуитивті мәзір, интуитивті мәзір, ішкі іздеудің болуы, жарияланған күніне мақалалар көрсетіледі, бұл ресурстарды тез және жағымды етеді.

Мұның бәрі, қымбатты достар. Енді сіз интерфейс, жай сөйлейтін, жай ғана сөйлейтін, бағдарламалар немесе сайттардың сыртқы қабығы екенін білесіз, бұл оларды пайдалануды жеңілдетеді.

Мақаланы оқығаннан кейін сізде бұдан былай сұрақтар болмайды деп сенемін. Қалай болғанда да, осы тақырыпты басқа блог оқырмандарымен ktonovenkogo.ru-мен түсініктеме беруге мүмкіндік беріңіз.

Білімді нығайту үшін мен Samsung компаниясының Android үшін жаңа интерфейсі туралы бейнені қарауды ұсынамын:

Сәттілік тілеймін! Ктоновенкого.Ру беттерінде жылдам жиналыстарды көру

Қазіргі заманғы интерфейстер тәжірибелі пайдаланушыларға арналған. Крандар да таныс үшін бірден бірден бола алмады. Бұрын, қосқыштың жақтары қызыл және көк деп белгіленген, ал суық жерде және ыстық су қайда екендігі анық. Қазір біз үйреніп алдық, және одан да көп крандар жапсырмаларсыз шығарылады. Мүмкін, олар қай жақты ағып жатқанын есіне алды.

Веб-интерфейстермен ол шамамен бірдей болды. Нөл басында, шина болды - графика нақты әлемдік нысандарға еліктеді. Егер сайт батырма болса, ол нақты көлемді түймеге ұқсады. Бұл олардың алғашқы компьютерлерін сатып алған адамдардың көпшілігі түсінікті болды.

Бірақ сәт жаңа пайдаланушылар аз болған кезде келді. Компьютер мен Интернетті қолдана бастағысы келген адам технологияда игерілді. Және нақты интерфейстердің қажеттілігі біртіндеп жоғалып кетті.

Енді, «Мәзір» белгішесінің орнына, деп аталатын бургер деп аталады, әдетте, қолтаңба - үш көлденең жолақ қолданылады. Біз олардың нені білдіретінін жақсы білеміз. Сондай-ақ, біз сайттарды әдетте жоғарыдан төменге оқығанын білеміз. Түсіндіру үшін көрсеткілердің қажеті жоқ. Қазіргі интерфейстер тәжірибелі пайдаланушыларға және неғұрлым қысқа мерзімге арналған.

Бағдарламалар

Интерфейсті жүйе мен сыртқы орта арасындағы келісім-шарттың бір түрі деп санауға болады. Компьютерлік бағдарлама аясында жүйе функциясы немесе модуль болып табылады, ал «қоршаған орта» - бұл жобаның қалған бөлігі. Интерфейс жүйе мен қоршаған ортаға қандай деректерді жіберуге болатындығы туралы ақпарат жазылады. Және «іске асыру» «Минус интерфейс жүйесі» деп сипатталуы мүмкін. Хаскелл Интерфейстері сияқты тілдерде өте ерекше болуы мүмкін. Питон сияқты тілдерде олар, керісінше, өте қарапайым. Таңдалған интерфейс түрі құрылған техникалық борыштың мөлшеріне және бағдарламашылардың жұмысына әсер етуі мүмкін. Мұны қалай есептеу керек, төменде жазылған. Әр түрлі интерфейстерді бағалау және салыстыру үшін әдіс ұсынылады. Осы салыстыруларға сүйене отырып, сіз тілді немесе бағдарламалық құралдың қолданылуын көре аласыз.

Бағдарламалық жасақтама - тұжырымдаманың ең маңызды тұжырымдамасы

Корольма

. Бұл мақала Java интерфейстері туралы емес, сонымен қатар бағдарламалық жасақтама дизайнындағы интерфейстер туралы емес. Аз дәрежеде - қоршаған әлемдегі интерфейстерде. Әрине, бағдарламалық жасақтаманы әзірлеуде көптеген басқа да маңызды тұжырымдамалар қолданылады, бірақ мен олардың көпшілігі интерфейстің маңыздылығына байланысты қандай да бір жолмен байланысты.

Интерфейс дегеніміз не?

Біздің көпшілігіміз екі қысқаша тұжырыммен танысамыз:

Интерфейс - бұл жүйе мен сыртқы орта арасындағы келісім-шарт. Интерфейс - бұл сыртқы ортасы бар жұптастыру жүйесі.

Интерфейс = жүйе ∩ қоршаған

Егер жүйе физикалық объект болса, жұптастырумен анықтама жарамды. Екі анықтамалар да өте түсінікті, сондықтан оларды пернетақтадағы басып шығару мысалында қарастырайық:

Мұнда жүйе ноутбук, қоршаған орта - қолдар (сонымен қатар мысықтың табандары, пернетақтаға көтеріліп). Демек, интерфейс қолдар мен ноутбуктың өзара әрекеттесуінің кез-келген бөлігі болуы керек, оны тек кейбір тараптарға ғана, тек екеуіне де жатқызуға болмайды. Әдетте біз қолдар мен пернетақта бөлек, бұл жағдайда интерфейстің нақты шекаралары философиялық даудың тақырыбы болып табылатындай бөлек. Сіз шешесіз: ол саусақтар мен кілттермен байланысқан кезде бір-бірімен немесе жеке атомдар сияқты жеке атомдар сияқты ма, жоқ па.

Мүмкін, сіз бұл мысалдың интерфейстің анықтамасымен келісімшарт ретінде қалай арылғаны шығарсыз. Бұл жағдайда келісім шарт, біз олар кілттердің орналасуын есіне алған кезде жеткілікті күш жұмсағанымызды білдіретін, ал бұлшықет жадының өңделгені туралы келісім. Бірқатар нюанстар Шартпен байланысты. Мысалы, пернені басып ұстап тұру қарапайым бір реттік баспасөзге қарағанда басқа мәнге ие.

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

:

Add_Numbers. 

қол қойылмаған Int, қол қойылмаған int); басқа_функция (жарамсыз) {add_numbers (3.4) int int int_numbers (қол қойылмаған INT A) {қайтарылмайтын Int; return}} of} int main (over) {Add_Numbers (9.99); Қайтару 0;}

Түстердің саралау техникасын қолданыңыз

Шолақ дамбал

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Қоршаған ортаны, жүйені сипаттау

және интерфейс:

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Мұнда қарастырылып жатқан жүйе функциядан тұрады

. Егер сіз өзіңіздің жеке жүйелік негізгі әдіс ретінде қарасаңыз,

Басқа_функция.

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

- Онда сіз дұрыс боласыз. Бірақ қарапайымдылық үшін біз функцияны қарастырамыз

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

.

Оқшауланған жүйе. Сондай-ақ, конверсиялық интерфейстің бір бөлігін қарастырған жөн

Көріп отырғаныңыздай, мұнда төртінші тұжырымдама қосылды: «Іске асыру». Нақты іске асыруды ескерместен интерфейстер тақырыбын талқылау өте қиын. Бұл терминді анықтайық: Іске асыру - бұл минус интерфейс жүйесі. Іске асыру = жүйе ∖ Интерфейс

Іске асыру = жүйе ∖ (жүйе ∩ қоршаған орта)

Мен бұрын-соңды қолдануға ешқашан мұндай анықтама болған емес екенін мойындауым керек. Бірақ бұл бірқатар артықшылықтары бар интерфейс анықтамаларының сөзсіз кеңеюі. Егер сіз кедей студент болсаңыз және емтиханға дайын болсаңыз, онда сіздің мұғаліміңіз бұл анықтама туралы ешқашан естімеген шығар. Егер бұл объектіге бағытталған бағдарламалаудың кез-келген таксономиясына қайшы келсе, мен таңданбаймын. Бірақ бұл жағдайда да, мен оны өзгерткім келмейді. OOP жанкүйерлері өз анықтамаларын менің анықтамамға сәйкес қайта жазыңыз.

Бұл, өз кезегінде бізді келесі логикалық қорытындыға апарады: физикалық жүйенің интерфейстері туралы сөйлескен кезде, біз осы жүйені «іске асыру» -ны бір физикалық объект түрінде елестетеміз. Өйткені, «нақты» іске асыруды түймелер, дисплейлер немесе басқа компоненттерді ескерусіз қарастыру таңқаларлық болар еді. Бұл бізді интерфейсті «келісім» ретінде көбірек қарастыруға итермелейді, және физикалық заттардың комбинациясы емес. Яғни, уәделер жиынтығында, кепілдіктер немесе бір нәрсе ...

.

Жүйе мен қоршаған орта арасындағы келісімшарт

Келісімшарт ретінде интерфейс

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Егер сіз функция интерфейсін қарастырсаңыз

  • Келісімшарт түрінде, содан кейін кепілдіктер: Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық Қызмет ету
  • Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық бар. Оның әрқайсысы қол қойылмаған екі параметрге ие .
  • Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық int. Оның әрқайсысы қол қойылмаған екі параметрге ие .

Тек біреуін қайтарады

  • Бұл функцияның интерфейсі бізге ештеңе айтпайды: Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық ;
  • Өткізудің үзілуі туралы Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық ;
  • Асимптотикалық күрделілік туралы Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық ;
  • Бастау үшін қажет тегін жад саны бойынша Оның әрқайсысы қол қойылмаған екі параметрге ие ;
  • Қол қойылмаған нақты іске асыру туралы

Жанама әсерлері бойынша (жад бөлу, жаһандық айнымалыларды өзгерту).

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Жоғарыда сипатталған интерфейс

функцияның түрімен танымал

Прототип.

. K & r c алдыңғы нұсқаларында интерфейстердің әлсіреуі әлсіреген:

қол қойылмаған Int Add_numbers ();

Интерфейсті келісім-шарт ретінде анықтау бағдарламалау үшін өте ыңғайлы. Өйткені, бағдарламаның көптеген тапсырмалары аксиомалардың жиынтықтарын анықтау және сұраудан тұрады. Бастапқы және соңғы жағдайлар кейбір қасиеттерді немесе мінез-құлықты қамтамасыз етеді. Екі тарап бір-бірімен іскерлік қарым-қатынасты байланыстырмас бұрын, олар келісімшартты дайындайды. Ол түпкілікті нәтиже, төлем мөлшері мен уақыт кестесін тұжырымдады. Сондай-ақ, ол мерзімінен бұрын тоқтату, өтемақы және шығындар үшін жағдайларды қарастырады. Егер келісім-шарт бұзылса, жағдай сотты немесе арбитражды түрлендіреді. Егер сіз келісімшартта бірдеңе ұмытып қалсаңыз, онда тосынсыйлар туындауы мүмкін.

Компьютерлік бағдарламалармен бірдей. Модульдер мен функциялар олардың айтуынша, олар қажет және олардың орнына не берілетіні туралы айтады. Осы Келісімшарттың бұзылуы компиляциялық қателікке, орындау қателігіне, өтінішін, жүйенің, сапаны бақылау құралдарының және нұсқаулықтың басшылығына әкеледі. Мен тіпті интерфейстің анықтамасы келісімшарт ретінде анықталмайтын болса да, метафоралық емес деп айтқым келеді. Мұнда коммерциялық келісімшарт бойынша бірдей қағидалар берілген, бірақ ол бұдан былай олай емес.

Патенттер, авторлық және интерфейстер

Мен сізге заң саласында кеңес бермеймін. Мүмкін менден бір нәрсе де, тіпті заңдарға қайшы келеді. Төмендегілердің бәрі автордың жеке пікірі болып табылады.

Сонымен, мен көлбеу

әдеби

Екі субъект арасындағы «коммерциялық келісімшарт» ретінде интерфейсті қарастырыңыз. Мен баса айтамын - мен оны метафора қарастырмаймын. Мен, мен бұл түсіндіруді, мысалы, есептеу машиналары және авторлық құқыққа қарсы наразылықтар теориясында мамандар.

Интерфейс патентімен ме? Оның анықтамасын жүйе мен қоршаған орта арасындағы келісімшарт ретінде ескере отырып, мен патенттерді қолдану қателікке ие болады деп санаймын. Және, бар, кейіпкер заңы менің ұстанымымды қолдайды. Есіңізде болсын, «интерфейс» сөзі өте кең және көбінесе мағынада, мен жоғарыда сипатталғандай, көбінесе мағынада қолданылады.

Мен интерфейсті авторлық құқықпен қорғауым керек пе? Тағы да, «келісімшарттық» табиғатты ескере отырып, интерфейстің «бастапқы коды» авторлық құқық объектісі болуы керек деп санаймын. Сонымен бірге, авторлық құқық оларды арнайы интерфейстердің аспектілеріне қолдануға болмайды. Бастапқы кодты немесе қолмен жазылған кескінді қорғау үшін жеткілікті, бірақ кепілдік немесе шектеулер жоқ. Егер кепілдік немесе интерфейстің шектеулері оның кодының кез келген бөлігінен ажыратылмаса, бұл бөліктер қорғау құқығынан айырылуы керек.

Мен сізге авторлық құқықты қорғаудың қажеті жоқтығын түсінуге мүмкіндік беретін қарапайым тест ұсынамын.

Егер сіз кез-келген атрибуттар жиынтығын, соның ішінде кез-келген компоненттерді, соның ішінде кез-келген компоненттерді, интерфейс қолданыстағы кез-келген жолмен, сіз әрқашан қолайлы ауыстыруды жасай аласыз. Ауыстыру осы интерфейсті жүзеге асырады және бағдарламалық жасақтамада үшінші тараптан, осы бағдарламалық жасақтаманың ешқандай модификациясынсыз, сондай-ақ кез-келген авторлық құқықты бұзбай сәтті қолданылады. Егер кез-келген ауыстыру авторлық құқықты бұзуға әкелсе немесе бағдарламалық жасақтаманы үшінші тараптан өзгертсе немесе өзгертпесе, немесе нашарлатыңыз, содан кейін төлсипат жиынтығы тым агрессивті және азайту керек.

Осы тест көмегімен де, тіпті патентке қабілеттілігімен де тексерілген дұрыс деп санаймын. Назар аударыңыз: тест мақсаты - өте айқын анықтау

Немқұрайды

Авторлық құқық немесе патент. Ол мұны шешуге көмектеспейді

еру

Қорғаныс. Сонымен қатар, бұл тест нормативтік-құқықтық акт немесе заң емес, менің пікірім ғана.

Сонымен қатар, сол тілдегі интерфейстің бөлігі ретінде қарастырылған кез-келген өлшем басқа тілде болмауы мүмкін екенін атап өткім келеді. Мысалы, Java-да функцияларды жариялау тәртібі бағдарламаның орындалуына әсер етпейді. Егер сіз кездейсоқ, егер сіз файлдағы функциялардың тәртібі маңызды емес деп айтсаңыз, бұл Python бағдарламасына қатысты қате болады: 

Def foo (): Басып шығару («ASDF») def foo (ABC): Print (ABC) Foo («LOL»)

Заңдар туралы барлық әңгімелер маған еске салды

Google-ге қарсы Oracle

. Берілген сілтеменің айтуынша, сіз әзірлеушілер үшін қызықты мәліметтер таба аласыз, сондықтан мен оларға арандатуға сенемін. Барлық аспектілерді ескере отырып, мен бұл істің Oracle пайдасына шешімімен келіспеу себептерін көрмеймін. Олар оларды сөзсіз қолдайтынын айта алмаймын, өйткені біз тапсырмалардың көп бөлігі болмаймыз.

Менің ойымша, көпшілік прецедентті құруға алаңдайды, бұл интерфейс элементтеріне патент немесе авторлық құқықты қорғауға мүмкіндік береді. Менің сынағым өтпейтін жағдай. Аудандық сот шешім қабылдады: «API құрылымы, дәйектілігі және архитектурасы авторлық құқықпен қорғалады.» Бұл мәселе деп ойламаймын, өйткені «құрылым, реттік және архитектура» оның анықтамасы менің сынағымнан толық өтеді. Мен жоғарыдағы сілтеме бойынша мақаладан бірнеше үзінді беремін:

«Аудандық сот Java-мен өзара әрекеттесуге арналған« Жазудың бір ғана жолы »деген қорытындыға келді. Олай болса, сол жарнаманы пайдалану авторлық құқыққа жатпайды. Google үшеуін қоспағанда, Java-ға кіру үшін өздерінің өз орталарын жаза алатындығын дауласпайды ». Соңында, «Google-де олар жарнамаларды көшіріп алғанын мойындады».

Менің ойымша, сот дұрыс шешім қабылдады, бұл интерфейстің бірегей қасиеттерін қорғауға болмайды деген қорытындыға келді. Сонымен қатар, Google «сөзбе-сөз» көшіруді мойындады. Егер бұл мысалдың көшірмесін, оның ішінде барлық олқылықтар мен емле қателерін, ескертулерде, содан кейін мен оны құқықтардың бұзылуын қарастырамын. Егер интерфейс қорғалмаса да, ол жеке шығармашылық өрнектің қорғалуына кедергі жасамауы керек.

Мен бұл сот ісі туралы тек ашық желі көздерінен білемін, бірақ бастапқы Java коды Google-ге, соның ішінде интерфейстерге толығымен көшірілген. Олардың өздері Java-ны пайдалануға лицензиялау қажет деп санайтын сияқты, өйткені ол 2010 жылға дейін күн сәулесімен келіссөздер жүргізу туралы келіссөздердің мәні болды. Бірақ бұл келісімдер күнді Oracle сатып алғаннан кейін сәтсіз аяқталды. Соған қарамастан, Google Кодекстің «әріптік» көшірмелерін қолдануды жалғастырды, бұл оның сынақтан өтуіне нақты пайдасы жоқ. Менің ойымша, олардың адвокаттары олардың ұстанымдарының әлсіздігі туралы білетініне күмәнім бар, сондықтан олар интерфейстерді таратпау үшін заңды сұранысқа негізделген қорғау стратегиясын таңдады. Олар корпусты интерфейсті ұсыну есебінен бастапқы код түріндегі және оның философиялық тұжырымдамасы түрінде жеңіске жетті деп үміттенді.

«Модуль» немесе «абстракция» дегеніміз не?

«Модуль» деген сөзбен менің басымда посттың астаналық бейнесі бар. Бұл мысал модуль шекараларының маңыздылығын және оның қоршаған ортамен өзара әрекеттесуінің маңыздылығын көрсетеді. Текше интерфейсі сыртқы ортаның өзара әрекеттесуін текшенің мазмұнымен шектейді. Сіз интерфейсті айналып өтпейсіз, сондықтан сіз оған «ойын ережелерін» сақтау керек. Соңында, текше ішінде ештеңе жоқ, бірақ ол маңызды емес: бұл оның мазмұны, бірақ интерфейсі маңызды.

Тағы бір мысал: жасуша мембранасының құрылымы. Әр түрлі компоненттер тек мембрана арқылы қажетті заттарды және қажет болған кезде ғана қамтамасыз етеді.

Осы мақаланың контекстінде мен «модульдер» және «абстракция» терминдерін синоним ретінде қолданамын. Әрине, түсіндірме сөздік менімен келіспейді, тіпті әр түрлі бағдарламалау тілдерінде де, бұл терминдер де әртүрлі мағынаға ие. Бірақ бұл жағдайда мен осы мақалада да осы мақалада түсінілгендей, осы екі субъектілерді жүйе ретінде қарастыруға болады. Яғни, абстрактар ​​мен модульдер интерфейс және іске асырудан тұруы мүмкін.

Сіз модульдің жеке функциясын C, «модуль» - пирон, класс немесе пакетте оқи аласыз - Java-да. Бір нәрсе, егер оның сыртқы интерфейсі болса және «жасырын» іске асыру болса. Сонымен қатар, тіл ережелерінің нәтижесі немесе тіпті бағдарламашылардың шешімі болуы мүмкін.

Кептіру абстракциясы

Менің білуімше, идея

Қоқыс жәшіктері Джоэль Сполскиді бағыттады

. Оның эссесінде жақсы мысалдар бар, бірақ мен өзім алып келгім келеді. Бағдарламалау кезінде «Карталар» ұғымы жиі кездеседі: олармен, мысалы, кілт пен құндылықтардан тұратын мәліметтер құрылымын білдіреді. Маңызды шектеу: Карта барлық кілттердің ерекше болуы керектігін қамтамасыз етеді. Бар кілт үшін жаңа мәнді жазу әрекеті қате пайда болады немесе алдыңғы мәнді қайта жазады. Төменгі сызық - кілттердің қайталанбауы керек. Көбінесе бағдарламашылар барлық осы кілттерді сұрыптауды талап етеді. Карталар кілттерді сұрыптаудың белгілі бір тәртібіне кепілдік бере алмайтындықтан, кейде олар ұрланғаннан кейін қандай тәртіппен болатынын білу қажет пе? Бұл карточкалық интерфейс кепілдіктерді сұрыптауға мүмкіндік бермейтіндігінің салдары. Бұл маңызды емес деп санаса да, бірақ іс жүзінде мен әлі де сұрағым келеді. Сондықтан, тиімді деректерді ұйымдастыру үшін, мысалы, қолданыстағы кілттерді тексеруді жеңілдету қажет.

Сұрыпталған мәліметтерді қатайту күші кездейсоқ мәліметтермен салыстырғанда мүлдем басқа нәтиже бере алады. Сіз тізімде ең төменгі мәнді табуыңыз керек делік: 

min = null; list = list = map.getMapseys () үшін (тізімдегі) {(min == null) {егер (min == null) {Min = элемент}, егер (элемент <мин) {min = min; / * Бұл жолда қате бар * /}}

Бұтақ

Басқа, егер.

Егер деректер ешқашан орындалмаса, ол ешқашан орындалмайды. Тізімнің кездейсоқ орналасуын тексерсеңіз де, бағдарлама ешқашан осы жолмен соқыр алмайды. Бұл үлкен проблема, өйткені егер сіз карточканың орындалуын өзгертсеңіз және ол сұрыпталған кілттерді қайтармайды, содан кейін сіздің кодыңыз кенеттен қате жіберіледі. Және сіз осы кодты және оның ішінде жасырылған бомба туралы толығымен ұмытып кетесіз.

Мен өзімнің абстракциялық ағып кету туралы өзімнің анықтамасын ұсынғым келеді.

Абстракцияның ағуы (абстрактілі ағып кету) іске асыру жағдайға әсер етпегендіктен жағдайға әсер ете алатын жағдай деп аталады.

Осы анықтамаға сәйкес,

Әр дерлік

Абстракция - тыныс алу. Өйткені, қоршаған ортаға әсер етудің барлық түрлеріндегі интерфейстегі сипаттама тек ең қатал математикалық жүйелерде болады. Және физикалық жүйелерге келетін болсақ, онда сіз есте қалдыруыңыз мүмкін

.

Теорема Gödel аяқталмаған туралы

Көптеген абстракциялардың тесіктері идеясы негізсіз емес. Бұл Жоел Сполскиді өзінің «ағып жатқан рефераттар заңында» білдіреді:

«Барлық тривиальды емес рефераттар белгілі бір дәрежеде халық болып табылады».

Барлық абстракциялар сүйеніп, не туралы сөйлесу керек? Проблемалар қоршаған ортаның бір бөлігі жүйеге күтпеген тәсілдердің біріне сене бастағанда ғана туындайды. Бұл әркімнің айтуы туралы.

Бұл қарапайым қателіктер тұрғысынан ғана емес, сонымен бірге қауіпсіздік саласындағы де, қол жетімділігіне әкеледі. Сыртқы жүйелермен, сыртқы ортаға ағып кетеді, қауіпсіздікті, мерзімге нұқсан келтіреді »

Бүйірлік арна шабуылы

« Саңылаулардың барлық абстракциясы деген тұжырыммен бірге, ол бізді қорытындыға апарады:

Криптожүйенің әр физикалық орындалуы үшінші тараптың шабуылдарына осал.

Жоғарыда айтылғандардың барлығын ескере отырып, бұл идея физикалық ғана емес, сонымен қатар эмуляциядан да берілуі мүмкін.

Интерфейстерді бағалау және салыстыру

Жоғарыда сіз бұрыннан көргеніміздей, С интерфейстерінде қайтару құны және берілетін параметрлер саны сияқты жиынтықтар бар. Питон ше? Мен «Интерфейс» терминін мақаланың мәнмәтініне сәйкес қолданамын, яғни олар Python-дағы «интерфейстер» туралы кітаптарға жазылған нәрселермен салыстырғанда кең мағынада қолданылады. 

Def Add_numbers (A, B): A +NUPPRNPRINT (Add_Numbers (3,1)) Басып шығару (Add_numbers («ABC», «ABC», «DEF»))

Бұл тілде біз функция интерфейсінің түрлерін рәсімдеуіміз керек. Ол анықтаманы және қоңырау шалу функциясын жеңілдетеді, өйткені аз ақпаратты өңдеу қажет. Екінші жағынан, сіз қателерді іздеуді тексеруге болатын шектеулер.

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Менің ойымша, ақпарат беру әдістері тұрғысынан интерфейстің әртүрлі сипаттамаларын бағалау және салыстыру туралы бір нәрсе керек. Сіз белгілі бір интерфейсті де, осы тілде енгізуге болатын барлық интерфейстерді де бағалай аласыз. Біздің мысалымызды еске түсірейік

Және біз интерфейс арқылы өтуге және оны айналып өту арқылы, абстракцияның ағып кетуімен қанша ақпарат беретінімізді есептейміз. Интерфейс арқылы
Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы
Мүмкін болатын мемлекеттер саны Параметр түрі 1. 1 (қол қойылмаған INT) Жаһандық айнымалы жағдайы
(Жаһандық айнымалылар саны) * (жаһандық айнымалылардың саны) Параметр түрі 1. Параметрдің түрі 2. Файлдық жүйе
Мемлекеттік жүйенің күйі Параметр түрі 1. Қайтарылған мән түрі Процессорды пайдалану уақыты
Шектеусіз Параметр мәні 1. 2 ^ (қол қойылмаған INT) Кучи штаты.
Мемлекеттер саны Параметр мәні 1. Параметр мәні 2. Көптеген адамдар ...
... Параметр мәні 1.

Қайтар- мағына

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Және онымен байланыса алатын бірқатар заттар бар

Python интерфейсі арқылы. Python интерфейсі арқылы ақпарат беру
Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы
Мүмкін болатын мемлекеттер саны Python интерфейсін айналып өту туралы ақпарат беру 1 (қол қойылмаған INT) Файлдық жүйе
(Жаһандық айнымалылар саны) * (жаһандық айнымалылардың саны) Python интерфейсін айналып өту туралы ақпарат беру Параметрдің түрі 2. Процессорды пайдалану уақыты
Мемлекеттік жүйенің күйі Python интерфейсін айналып өту туралы ақпарат беру Қайтарылған мән түрі Кучи штаты.
Шектеусіз Python интерфейсін айналып өту туралы ақпарат беру 2 ^ (қол қойылмаған INT) Көптеген адамдар ...
Мемлекеттер саны Python интерфейсін айналып өту туралы ақпарат беру Параметр мәні 2. Жаһандық айнымалы жағдайы
... Python интерфейсін айналып өту туралы ақпарат беру

Іс жүзінде шексіз

Енді Хаскеллде сипаттай алатын интерфейс түрлерінің санын қараңыз: 

Add_Numbers :: int> int> int -> Intadd_Numbers 3 4 = 7main = басып шығару (Add_Numbers 3 4)

Мұның бәрі қызықты философиялық пайымдар, бірақ олар жазу бағдарламалық жасақтамаға қалай қатысты? Ал, бағдарламалаудағы интерфейстерді сіз оған назар аудармасаңыз да, бағдарламалаудағы интерфейстер сізді барлық жағынан қоршауға алайық. Мысалы, егер сіз Java-да бағдарламаласаңыз, онда олардың мақсатына байланысты интерфейстерді нақты атаңыз. Және басқа тілдерде олар да бар. Интерфейс функциясының мысалын қарастырайық

Осы кодты ескере отырып, интерфейс

Келесі ақпаратты ала алады: Хаскелл интерфейсі арқылы ақпаратты беру
Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы
Мүмкін болатын мемлекеттер саны Хаскелель интерфейсінің көмегімен ақпаратты беру Қайтарылған мән түрі Процессорды пайдалану уақыты
(Жаһандық айнымалылар саны) * (жаһандық айнымалылардың саны) Хаскелель интерфейсінің көмегімен ақпаратты беру 1 (INT) Процессорды пайдалану уақыты
Мемлекеттік жүйенің күйі Хаскелель интерфейсінің көмегімен ақпаратты беру Процессорға / жад кэшіне әсері Көптеген адамдар ...
Шектеусіз Басқа ...
Мемлекеттер саны 1 (3-мән)
... 1 (4-мән)

Кем дегенде 2 ^ 30 [1]

  • Таңдалған тілдегі белгілі бір интерфейс үшін, сонымен қатар ақпаратты берудің бірегей тәсілдерінің санын бағалай аласыз:
  • интерфейс арқылы;

Интерфейсті абстракциялық ағып кету арқылы жалғастырыңыз.

  • Сіз сондай-ақ келесілерге назар аудара аласыз:
  • осы тілде осы тілде қандай шектеулер пайдалана аласыз, егер сіз интерфейс арқылы жіберілген ақпараттың ең азы және максималды саны тұрғысынан қолдануға болады;

Бұл тілде интерфейсті айналып өтудің алдын алу үшін осы тілді ұсынады.

Бағдарламалар
Осылайша біз қалталарды өзгертуге болатын графикалық пайдаланушы интерфейсіне талдау жүргізейік: GUI арқылы ақпарат беру
Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы
Гуиді айналып өту туралы ақпарат беру 1 папканы нұқыңыз Экранда пиксельдер саны 1 * шертпелер саны Процессорды пайдалану уақыты
Ui жасырын мүмкіндіктер 2 папканы нұқыңыз Экрандағы пиксельдер саны 2-қалта бойынша ұсталған 2 * нұқулар саны Стандартты жылдам қоңыраулар комбинациясы
Экрандағы пиксельдер саны 2 батырмасы Нұсқаулық курсоры 1 папкаға Экрандағы пиксельдер саны 1-пиксельмен Көптеген адамдар ...
Басқа күтпеген UI мүмкіндіктері 2-папкаға арналған нұсқаулық курсоры
Экрандағы пиксельдер саны 2 пиксельдер Нұсқаулық арасындағы уақыт және нұқыңыз
Шексіз Стандартты клавиатуралық оқиғалар
Стандартты кілт комбинациясының саны Гуи алатын экран аймағы

GUI көрсету үшін қолданылатын пиксельдер саны

Енді пәрмен жолын пайдаланып, қалтаны өзгертудің бірдей міндетін қарастырыңыз

:

Осылайша біз қалталарды өзгертуге болатын графикалық пайдаланушы интерфейсіне талдау жүргізейік: GUI арқылы ақпарат беру
Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы Интерфейсті айналып өту арқылы Сипаттамалардың сипаттамасы
Ықшкір Процессорды пайдалану уақыты Сіз тере алатын қалта атауларының саны Процессорды пайдалану уақыты

Ауыспалы орта

Алдыңғы екі кестеде маған сигналдағы шу саны сияқты мәліметтер болған жоқ. Егер сіз пернелерді басқан кезде (бірінен кейін) және тінтуірдің қозғалысы (пиксельдің артындағы пиксель) және тінтуірдің қозғалысы күрделілігін салыстырсаңыз, екінші жағдайда қателер әлдеқайда көп. Графикалық интерфейстерде бұл аз қатаң семантиканы жасау арқылы өтеледі. Елестетіп көріңіз, егер аймаққа қол жетімді «Болдырмау» батырмаларында бар-жоғы 1 пиксельдің ені болды.

Егер сіз физикалық мүгедектердегі қателер үлесінің өзгеруін бағаласаңыз, оны одан әрі қиындатуға болады.

  • Сонымен, біз интерфейстерді бағалау және салыстырудың мүмкін жолдарының бірін қарастырдық. Жоғарыда келтірілген мысалдарға және өз тәжірибелеріне сүйене отырып, бірнеше экстраполяция жасауға рұқсат етіңіз:
  • Адамдар ақпарат алған кезде қатаң емес интерфейстерді, әсіресе интерфейс, егер интерфейс болмаса.
  • Тым қатаң интерфейстер жиі дұрыс қолданылмайды.
  • Ақпараттың көп мөлшері бар, бірақ жиі дұрыс пайдаланылмайтындығы туралы жалпы ақпарат.
  • Егер өзара әрекеттесу шиеленісті болып қалса, адамдар ақпаратты интерфейсті айналып өтуге тырысады.

Интерфейстерді араластыру, интерфейсті айналып өту, абстракцияның ағуы арқылы жағымсыз тосынсыйлардың пайда болуы өте ықтималды.

Кептіру және шектеулі интерфейстер

Мен алдыңғы бөлімнен талдау негізінде бірнеше бақылауларды сипаттаймын. Бірақ алдымен мен бірнеше анықтаманы беремін:

Ағып кету интерфейсі (ағып кету интерфейсі) - бұл жүйе мен қоршаған орта арасындағы кез-келген өзара әрекеттесу кезінде еленбейтін интерфейс.

Шектеулі интерфейс (нақты интерфейс) - бұл мүмкін болатын кірістер мен шығыстардың салыстырмалы түрде аз мөлшері бар интерфейс.

Шектеулі интерфейстің жақсы мысалы -

Көрсетілген функциялар

тек кіріс деректерінің аз мөлшері үшін анықталады.

Егер сіз «тесіктер» немесе «шекті» интерфейстерді ақылға қонымды түрде бағалай алсаңыз, оның бір ұшында өте шектеулі және белсенді емес интерфейстер, ал екіншісінде - шектеусіз және ағып кететінін айтарлықтай бағалайсыз.

Мүмкін сіз біреуге солға немесе оңға қарай жылжу үшін ұсынсаңыз, бірақ ең бастысы, сіз идеяны ұстап алдыңыз. Сіз тіпті екі бөлек таразына түсіп, тесіктер мен қатаңдық дәрежесіне сәйкес. Жалпы алғанда, бұл екі ұғымның бәрі жақсы.

Ұсынырғым келетін келесі корреляция менің тәжірибемнен алынған. «Қате» шкаласының сол жақ шетінде аз таралған, әдетте олар сәтсіздіктерге байланысты пайда болады

Тексеру

.

. Қате шкаласының оң жағында жиі кездеседі, көбінесе олардың себебі кейде сәтсіздіктерге ұшырайды

растау

Техникалық қарыздың асимптотикалық күрделілігі

Мен мәлімдемен бастаймын:

Техникалық борыштың негізгі бөлігі жобада немесе абстракциялардың ағып кетуіне жол берілмейтін немесе өте керемет интерфейстердің арқасында туындаған немесе өте керемет интерфейстердің арқасында пайда болады, бұл олардың салдарларының алдын-алуды қатты қиындатады.

Жобада жобада бір немесе екі модуль бар және жақсы интерфейс келісімін зерттейді, сізге (1) жұмыс көлемін орындау қажет. Егер сіздің интерфейсіңіз нашар болса, техникалық қарыздың көлемі де (1) -ге тең болады, сондықтан интерфейс келісімшартын жасауға көп уақыт жұмсаудың қажеті жоқ. Бірақ модульдер мөлшерінің сызықтық ұлғаюымен, аралық облигациялардың көлемі O (N ^ 2) қол жеткізе алады. Сондықтан, егер әр модуль барлық басқа модульдермен өзара әрекеттессе, онда нашар жағдайда интерфейске апелляциялар саны N ^ 2-ге пропорционалды болады.

Графиктерден көрінетіндей, ол бастапқыда жақсы ойластырылған интерфейсті құру үшін сақталады. Бірақ бұл жеңіс модульдік өзара әрекеттесуге байланысты проблемалардың артуына байланысты тез жоғалады. Осыған байланысты жұмыс көлемі модульдер саны дәрежесіне дейін, ал жақсы интерфейсімен жоғарылайды. Ең нашар сценарий - әр модуль әр модульмен байланысқан кезде, Хендешка процесінде, осы жерден және сабақтарында қиындықтар туындайды.

Әдетте, аралық өзара әрекеттесу деңгейі O (n ^ 2) қарағанда баяу өсуде, бірақ ол (n) қарағанда тезірек болады. Болашақта қарқынды өсудің басталуын ауыстырып, бір фактор бар: бұл адам естеліктері. Сіздің жобаңызда 20 модуль болған кезде де, бұл олардың әрқайсысын жасағаныңыз есімде шығар. Сонымен, барлық келісімшарттар бойынша сізге функциялар мен эзотериялық келісімдердің тұманды атаулары ғана қажет. Бірақ жоба өте үлкен болған кезде, содан кейін көптеген мәліметтер ұмытылады, немесе жаңа адамдар жобақа келгенде - және еңбек шығындарының қуатты өсуі басталады.

  • Неліктен пәрмен жолын қолданады?
  • Сіз адамдардан бұл сұраққа әр түрлі жауап аласыз, олардың ешқайсысы маған ең бастысы болып көрінеді:
  • Пәрмен жолы икемді және көптеген мүмкіндіктер береді.

Ол аз ресурстарды жұмсайды.

Бұл сізге бәрі қалай жұмыс істейтінін жақсы түсінуге мүмкіндік береді.

Ең бастысы, біз әлі де командалық жолды қолданамыз

Автоматтандыру!

Автоматтандырылған процестерді пайдаланудың артықшылықтарын асыра бағалау мүмкін емес. Егер мен 100 серверге кластерді іске қосуым керек болса, мен олардың әрқайсысына жеке-жеке қосылмаймын және бағдарламалық жасақтаманы қолмен орнатпаймын, ол сансыз гуидегі түймені басу арқылы. GUI-де Clichan процесін автоматтандыру қажет болса да, сізге басқа файл қажет болады, онда ақпарат қайда және қалай басуға болатындығы туралы ақпарат сақталады. Икемді файл сияқты нәрсе ... командалар.

Біз автоматтандыруды emberation және экрандағы гигондар арқылы жүзеге асыра алсақ, біз машинамен өзара әрекеттесудің бұл түрі адамдар үшін ойлап табылғанын ұмытпауымыз керек. Бұл жоғары дәлдікті қажет етпейтін қатаң интерфейсті қолдануды білдіреді. Сондықтан, сіздің автоматтандырылған нұқыңыз, егер терезе кенеттен ауысса немесе жүйе қаріпінен өзгерсе, пайдаланылады. GUI-мен тым көп айнымалылар қосылады. Және командалық жол сізге дәлірек әрекет етуге мүмкіндік береді, сіз өте қатаң интерфейс арқылы өзара әрекеттесесіз. Сондықтан, көптеген адамдар оған компьютерлік бағдарламадан айырмашылығы жоқ.

Әрине, Гуидің өзара әрекеттесуінің төмендігі жақсы жағдайлар бар. Мысалы, сандық суреттерді жасау кезінде сізге әр пиксельдің орналасуы мен түсі туралы алаңдамау қажет емес. Ең бастысы болу

бірдеңе

Әр пиксель үшін арнайы. Сондықтан, курсорды жылжыту арқылы берілетін шу қорытынды өнімде маңызды ақпарат болады.

Дұрыс тілді таңдау

Техникалық борыштың асимптотикалық күрделілігі туралы бөлімнен кейін сіз кез-келген жоба Хаскелл немесе Жаван сияқты интерфейс келісімшарттарының өте қатаң келісімшарттарымен жазылуы керек деп ойлайсыз. Бірақ бұл мен жеткізгім келетін нәрсе емес. Келесі сұраққа жауап сізге дұрыс таңдау жасауға көмектеседі.

Сіздің жобаңызға қойылатын талаптарды қалай өзгерту керек?

Жаңа жағдайдың басында, әсіресе «өте мүмкін», әсіресе, егер шағын өнім пайда болса, тіпті оның нарықтағы болашағы бар болса да болады. Егер талаптар, мысалы, компилятор құрған жағдайда нақты тұжырымдалса, халықаралық стандарттар негізінде жобаны жасау немесе дамыту жағдайында жауап «мүмкін емес».

Егер сіз «өте мүмкін» деп жауап берсеңіз, интерфейс келісімшарттарын көрсету кезінде аз уақыт жоғалтатын тілді қолданыңыз: олар сізден талап етілген жағдайда сізге қарсы жұмыс істейді. Бірақ мұнда басты міндет - талаптардың мінсіз орындалуы, сізге мүмкіндік беретін ең жақсы талаптар

бастау

Қорытынды іске асыруды жасаңыз. Ерекше жағдай сіздің MVP, жүздеген модульдері бар үлкен жүйе болатын жағдай болуы мүмкін. Егер жобаға көптеген адамдар қатысса, онда олар бір-біріне келу үшін жақсы интерфейс қажет.

Егер сіз «мүмкін емес» деп жауап берсеңіз, онда қатаң интерфейс келісімшарттары бар тілді қолданыңыз. Алдымен сіз көп жұмыс істеуге тура келеді, бірақ содан кейін жаңа мүмкіндіктер енгізу аз күш қажет болады. Егер сіз аз ғана өнім жазсаңыз, жалғыз ерекшелік жағдай болуы мүмкін (бірнеше жүз жолдар).

Біраз уақыттан кейін Twitter-де рельстерде рубиндерде қандай да бір даналар сынған, содан кейін бұл жобаны масштабтауға себеп болды. Кейін Twitter-де Скалаға аударылды. Біреу жасаушылар қателік жіберді деп болжай алады және олар дереу қысымды таңдау керек. Мен олай ойламаймын. Твиттердің қақ ортасында өте қарапайым идея жатыр, және көптеген бәсекелестер жағдайында олар нарықтағы үстем жағдайды жеңіп алуы керек көптеген бәсекелестер. Олар шығындарға қарамастан, мүмкіндігінше тез өсуі керек еді. Жаңа мүмкіндіктердің даму циклдері мүмкіндігінше тез арада өтуі керек, өйткені ол ең қысқа мерзімде, бұл ең қысқа мерзімде пайдаланушыларға не қажет екенін түсінуге мүмкіндік береді, нәтижесінде қандай өнім қажет екенін түсінуге мүмкіндік береді. Масштабтаудың қиындықтары сәтсіздікке, бірақ сәттіліктің белгісі болып табылады. Twitter-дің көзқарасы дайын өнім түрінде тұжырымдалған және ол оны жүзеге асыру үшін қалды. Әзірлеушілердің көзқарасы бойынша, бұл жай ғана Нирвана, барлығы осындай нәрсе туралы армандайды, бірақ мұндай жағдайларда адамдар аз адамдар жұмыс істей алады: «Егер сіз үшін ыңғайлы болғандықтан, бұл сіздің сүйікті тіліңізден, егер ол сізге ыңғайлы болса да Болашақта онымен жұмыс істеу оңай болды ». Сызудан бір нәрсені қайта жазу, біздің көз алдымыздан әлсіреген өнімнің көрінісін қосуға тырысқаннан әлдеқайда оңай, бұл компанияға компанияның шешуге мүмкіндік береді. Өкінішке орай, нарыққа қатысушылардың көпшілігі тек «қажетсіз» шығындардан аулақ болу арқылы ғана барып, масштабтауға көп күш пен уақытты масштабтауға жол бермейді.

Неліктен соншалықты танымал питон?

Тесіктер мен қатаң интерфейстер бөлімінде мен интерфейстерді жіктеу әдісі туралы, олардың абстракциялардың ағып кету үрдісіне, сондай-ақ интерфейс анықтамалары болуы мүмкін екендігі туралы әңгімеледім. Мен «достық» және «жемісті» интерфейстердің көпшілігінің интерфейс спектрінің басқа бөлігіне қарағанда ағып кетуге бейім екенін атап өттім.

Питонның танымалдығы бұл өте қарапайым интерфейс келісімшарттарын қамтамасыз ететін керемет кіріспе тіл екендігімен байланысты. Дәл сол себепті, Пёттондағы жобаның артуымен, ол одан да қиын болады.

Python ғылыми қоғамдастықта және ғашықтар арасында сандық талдаумен өте танымал. Тәжірибенің маңыздылығы құрылған өнімдегі үнемі жақсартуды және қатаң интерфейстер баяулауды талап етеді.

Неліктен корпоративті бағдарламалық жасақтама әдетте Java / C ++ арқылы жазады?

Тесіктер мен қатаң интерфейстер туралы бөлімде мен әртүрлі интерфейстермен байланысты ымыралар туралы әңгімеледім. Java және C ++ Python немесе Ruby-ге қарағанда спектрдің қатаң бөлігі болып табылады. Иә, ағып кетулер ағып кетуі мүмкін, ал қатаң тілдер болуы мүмкін, бірақ java және c ++ java және c ++ ауқымдылығы, достық және лирика тұрғысынан теңгерімді. Сонымен қатар, бұл екі тіл сізге жоба келісімдеріне байланысты интерфейстердің басқармаларын басқаруға икемді болуға мүмкіндік береді. Мысалы, айнымалыларды немесе жеке, жария немесе қорғалған функцияларды жасау.

Бұрыштарды қалай кесуге болады

Егер сіз осы мақаладан бірдеңе әкелгіңіз келсе, өтінемін: Жобада бұрыштарды кесу керек болған кезде, оны ішке салыңыз

Сату

және бұрылыңыз.

  • өте жақсы
  • интерфейс. Егер іске асыру жақсы болмаса да, оның проблемалары жүйенің басқа бөліктеріне ағып кетсе де, онда бұл нашар интерфейс проблемасы! Түсініспеушілік жоқ, мен интерфейстердің астында дегенім туралы тізімге берсін:
  • Функциялардың прототиптері.
  • «Интерфейстер» Java.
  • Қоғамдық сыныптар әдістері.
  • Қоғамдық компоненттердің айнымалылары.
  • Тақырып файлдары (.h) C / C ++ тілінде.
  • Қайта құру нүктелері.
  • URL маршрутизациясы.
  • «Модельдер» немесе «пакеттер» қоғамдық аспектілері.

Логикалық мәліметтер базасының құрылымы (DDL).

Және тағы басқалар.

Қорытынды

Көріп отырғаныңыздай, интерфейс тұжырымдамасы өте маңызды және құқықтық қорғау, өнімділік және жүйелік құрылымның басқа аспектілерімен философиялық қатынастардың саны бойынша жобаның дамуына өте үлкен әсер етеді. Басқа бағдарламалардан олардың интерфейстері туралы ойланып, барлық заттарды тыңдаңыз.

Пайдаланушы интерфейсі - бұл адамдар мен компьютер арасындағы өзара әрекеттесу құралы. Қарапайым сөзбен айтсақ, интерфейс - бұл бағдарламаның сыртқы бөлігі немесе пайдаланушы жұмыс істейтін құрылғы. Word интерфейсі - ағылшын тіліндегі интерфейсі, яғни «шекара сілтемесі».

Көбінесе, Word интерфейсі астында пайдаланушы интерфейсін білдіреді. Мысалы, олар: «Бұл интернет-дүкен ыңғайсыз, шатастыратын интерфейске ие» дейді. Бұл дүкеннің өзара әрекеттесуіне ыңғайсыз екенін білдіреді. Мысалы, қажетті тауарларды табу қиын, бұйрықты қалай орналастыру керектігі, сайт бұрын енгізілген деректерді сақтамайды және т.б.

Пайдалану мысалдары:

Көптеген пайдаланушылар «Вконтакте» ескі интерфейсін қайтарғыңыз келеді, олар жаңаға ұнамайды.

Бағдарламада интуитивті интерфейс бар - қайдан бас тарту керектігін және оның не болатынын дереу тазартыңыз.

Windows интерфейсі өте күрделі: тәжірибесіз пайдаланушылар біршама параметрлерде шатастырылады.

Веб-интерфейс - Интернеттегі бет - пайдаланушыға кейбір қызметпен немесе құрылғымен тікелей шолушы арқылы өзара әрекеттесуге мүмкіндік береді. Мысалы, веб-интерфейсті пайдаланып, сіз онлайн-банкті пайдалана аласыз: Банк бетіне өтіңіз, логин мен парольді енгізіңіз, содан кейін ақша аударыңыз, содан кейін ақша аударыңыз, қызметтерге ақы аударыңыз, қызметтер үшін төлемдер және т.б.

Аппараттық және бағдарламалық интерфейс. USB және API интерфейсі дегеніміз не Пайдаланушы интерфейсіне қосымша, бағдарламалық жасақтама интерфейсі (бағдарламалардың бір-бірімен әрекеттесуі) және аппараттық интерфейс («Темір» физикалық құрылғылардың өзара әрекеттесу әдістері) бар. Олар жабдық интерфейсі туралы айтқан кезде, олар әдетте құрылғыларды бір-біріне қосуға болатын қосқыштарды білдіреді. Мысалы, «USB интерфейсі арқылы қосылу» құрылғыларды қосуды білдіреді

Әмбебап реттік шина

перифериялық жабдықты қосуға арналған. USB арқылы, мысалы, компьютерге пернетақтаны, тінтуірді, камераны немесе смартфонды қосуға болады.

Аппараттық интерфейс - USB кабелі

Бағдарламалық интерфейс - бұл бағдарламалардың өзара әрекеттесу тәсілі. Мысалы, API (қолданбалы бағдарламалау интерфейсі, қолданбаны бағдарламалау интерфейсі) - бұл бағдарламаларға адамдардың қатысуынсыз деректерді автоматты түрде алмастыруға мүмкіндік беретін командалардың жиынтығы. Бір API бағдарламасы сұранысты жібереді, тағы бір жауап береді.

Мысалы, жаңалықтар сайтында нақты уақыт режимінде өзгеретін валюта бағамдары көрсетілген. Бұл сайт редакторы парақтағы сандарды қолмен өзгертетінін білдірмейді. Жаңалықтар сайтының өзі валюта айырбастасымен API сұрауын жібереді және сол жерден қажетті сандарды алады.

Пайдаланушы интерфейстерінің түрлері. Графикалық, мәтін және басқалары

Мәтіндік интерфейс - бұл команданы басып шығару арқылы компьютерді компьютермен байланысу тәсілі. Мысалы, MS-DOS амалдық жүйесінде интерфейс мәтіндік болды - пайдаланушы пернетақтада қажетті командаларды теріп, құрылғы оларды орындады.

MS-DOS мәтіндік интерфейсі - командалық жол

Мәтіндік интерфейс мәселесі - пайдаланушы қажетті командаларды білуі керек және әр уақытта оларды қолмен қатыстырмайды. Көбінесе бұл қиындықтан MS-DOS үшін қабықты алып тастады - мысалы, Norton командирі.

Norton командирі - MS-DOS файл менеджері. Сіз тек пернетақтада пәрмендерді тере алмайсыз, бірақ пернелер тіркесімдерін пайдаланып файлдармен жұмыс жасай аласыз.

Көп ұзамай графикалық интерфейстер пайда болды, мұнда пайдаланушы визуалды нысандармен әрекеттеседі: экрандағы түймелер, белгішелер, суреттер. Windows амалдық жүйесі графикалық интерфейсті қолданады: Пайдаланушы белгішелердегі белгішелерді нұқып жібереді - файлдар мен бағдарламалар бейнеленген пиктограммалар.

Windows 3.11 графикалық интерфейсі

Материалдық интерфейс - бұл материалдық құрылымдарды қолдана отырып, компьютермен өзара әрекеттесу тәсілі. Мысалы, компьютер тінтуірі немесе джойстик - бұл материалдық интерфейс. Тінтуірді кестеге жылжыту Кестеге, біз бір уақытта курсордың көрсеткіні экранға жылжытамыз.

Материалдық интерфейс - компьютер тінтуірі. Сурет: Депозитет Анықтама.

Дауыстық интерфейс сөйлеу командаларын қолдана отырып, бақылау болып табылады. Бүгінгі адам дауысы тіпті ұялы телефондарды да біледі. Мысалы, Apple, Google-дің дауыстық көмекшісі, Yandex-тен «Алиса»

Дауыстық интерфейс - Apple Siri. SIRI - сөйлеуді түсіндіру және тану интерфейсі (сөйлеуді тану және түсіндіру интерфейсі). Сурет: Депозитет Анықтама.

Аспап интерфейсі командалар беруге, саусағыңызбен, қолыңызбен, компьютер тінтуірімен, арнайы контроллермен және т.б.

Орнату интерфейсі - Nintendo Wii ойын консолі, оның контроллері пайдаланушының қозғалысына жауап береді.

Тактильді интерфейс пайдаланушыға тактильді сезімдерді (итеру, діріл және т.б.) көруге және олардың көмегімен компьютермен қарым-қатынас жасауға мүмкіндік береді.

Виртуалды шындық қолғаптары - тактильді интерфейс мысалы. Сурет: NASA.

Нейрондық интерфейс командаларды миға жасалған электродтармен жіберуге мүмкіндік береді. Екі бағытты нейрондық интерфейстер тек мидан ақпарат ала алмайды, сонымен қатар оны миға жіберу үшін - мысалы, көздің старферасы арқылы.

Дженс Науманн - соқыр, нейрондық көрнекі протездермен «көр». Камера кескінді түсіріп, өңделген нұсқаны электродтар арқылы мидың көрнекі қабығында жібереді.

Kian Rivz «Матрица» фильмінде (1999). Батырлар виртуалды шындыққа - матрицаға түсу үшін Neurointerface ләззат алады.

Cbebekis - виртуалды шындық түріндегі интерфейс. «Джонни Мнемониялық» фантастикалық фильмінен кадр (1995)

Сізге қош келдіңіз, достар! ДК мен телефон иелерінің қауесісіндегі «Интерфейс» сөзі, бірақ оны түсінбейді. Біз шайнектерді айтамыз, компьютерде және смартфонда қандай интерфейс дегеніміз не? Неліктен оны қалай пайдалану керектігін не қажет етеді. Бұл сөзді сайтта көру, сипаттамада немесе нұсқаулықта жаңадан келген адам біздің не туралы сөйлесіп жатқанымызды және одан әрі не істеу керектігін түсінеді.

Бұлғау

Ол қажет ететін интерфейс дегеніміз не

Ағылшын интерфейсінен аударылған - өзара әрекеттесу. Орыс тілінде қалай жазуға болады: интерфейс (кейде инфекттер жазылады - бұл дұрыс емес). Қалыпты анықтама - бұл екі функционалды нысан арасындағы жалпы шекара. Мысалы, ер адам өзінің көлігінің доңғалағын артқа алады, редуктока тұтқасын ауыстырады - бұл машина интерфейсі жүйесімен өзара әрекеттесу. Драйвер мен көлік арасындағы дирижер ретінде беріліс қорабы.

  • Информатика ғылымында, тереңірек сөздің мағынасы - бұл ойын, бағдарлама немесе амалдық жүйе, есептеу машинасының жұмысын бақылау әдістері. Интерфейстің арқасында адам кез-келген бағдарламаны немесе мәтіндік редакторды біледі. Егер біз бояу графикалық редакторымен жұмыс жасасақ, басқа ұқсас бағдарламаларды игеру оңай, өйткені олар ұқсас құрылымы бар.
  • Негізгі интерфейс тапсырмалары:
  • енгізу және шығару туралы ақпарат;
  • Менеджмент бағдарламалық қамтамасыздандыру;

Сыртқы тасымалдаушылар арқылы деректер алмасу;

Командалар.

ДК жүйесінің артқы панелі басқа құрылғыларды қосуға мүмкіндік беретін интерфейс болып табылады.

Пайдаланушы компьютерден тұрады және оның алдындағы белгішелерді көреді: «Менің компьютерім», «Жапсырмалар», «Фото» және т.б. - Барлық осы интерфейс элементтері.

Интерфейстердің түрлері

Интерфейсті қысқаша сипаттауға болады: ДК немесе телефон арқылы оның алдында адам не көреді. Бұл жүйелік құрылым, өйткені бұл жүйелік құрылым, өйткені батырмаларды мәзір элементін басу арқылы пайдаланушы қажет жерде болады: камера, галерея, контактілер, хабарламалар. Оның мақсаты - электрондық құрылғыны немесе сайтты тиімді, жағымды қолдану.

Бейне.

  • Әр түрлі интерфейстер бар, олардың әрқайсысында біз бұдан әрі айтамыз.
  • Ең ортақ:
  • командалық жол;
  • Графикалық және мәтіндік интерфейс;
  • менеджмент түрі бойынша (ым-ықшам, дауыстық, тактикалық және нейрондық);
  • Бағдарлама;
  • жабдық;
  • аппараттық-бағдарламалық қамтамасыз ету;
  • қолданушы;
  • Желі;
  • ойын;

материал;

Пәрмен жолы

телефондарда.

Интерфейттің қарапайым сөздері қандай

Егер сізге қазіргі заманғы интерфейстердің түрлерін атауға және тізімге енгізу керек болса, бұл ақпарат бәрін дұрыс шығаруға және жақсы таныстыруға көмектеседі.

Бұл біздің кеңейтілген бағдарламалық жасақтама, ол біздің кеңістіктегі және пайдаланушы мен ОЖ арасындағы қатынасты қамтамасыз ету. Пәрмен жолының арқасында сіз компьютерлік командаларды орындай аласыз. Бұл машинамен оның тіліндегі байланыс.

Кемшіліктер туралы - Сіз оларды бір қате жіберген сайын командаларды білуіңіз керек. Артықшылығы - графикалық құрылымның қатысуынсыз командаларға кіру мүмкіндігі, ол қосымша мүмкіндіктер береді.

Пәрмен жолы (консольдік интерфейс) өзінің қабығында, мысалы, BIOS-те басталады. Оның орналасқан жерінің негізгі бағыты: C: \ Windows \ System32 \ cmd.exe. Кәдімгі жылаушыға пәрмен жолы орналасқан және ол қалай жұмыс істейтіні және кәсіпқойлар үшін бұл негізгі құрал, өйткені ол негізгі құрал, өйткені ол вирустармен және басқа жағдайларда компьютерге көмектеседі.

Пәрмен жолын табудың қарапайым әдісі: Сонымен қатар, пайда болған CMD терезесінде Win + R пернелерін басыңыз.

Командалық интерфейс

Графикалық және мәтін

  • Графикалық (ENG. Пайдаланушының графикалық интерфейсі, GUI) барлық операцияларда, көптеген бағдарламаларда қолданылады. Жиі ол WIMP деп аталады - бұл Wimlwow, icon, мәзір, меңзегіш құрылғының (манипуляциялық құрылғының) бірінші әріптерінен аббревиатура.
  • Негізгі элементтер:
  • мәзір;

Тізімдер;

Пиктограммалар (сызбалар, схемалар).

Windows жүйесінде пайдаланушы белгішелерді нұққан, бағдарламалар мен файлдар бейнеленген пиктограммалар, олар әр пайдаланушыға кең мүмкіндіктер береді. Кез-келген команданы енгізудің қажеті жоқ. Ыңғайлы өзара әрекеттесу үшін компьютер тінтуірі қолданылады.

Көрнекі интерфейстің сызбасынан айыру керек, ол жүйені визуалды кескіндер жиынтығы ретінде білдіретін, ол белгілі бір экранда орналасқан белгіше немесе жазуы болуы мүмкін. Көрнекі құрылым міндетті түрде графикалық салыстыруды қолданбайды. Көрнекі құрылым графикалық және мәтін болуы мүмкін.

Мәтін ақпаратты енгізу және ұсыну кезінде пайдаланады, әріптер / сандар жиынтығы, псевдографиялық таңбалар. Ол барлық негізгі графикалық дизайн элементтерін қолданады: құсбелгілер, түймелер түсірілген тізімдер және т.б. Кішігірім техникалық ресурстармен, жоғары жылдамдықты мәліметтермен ерекшеленеді. Мәтіндік интерфейс пайдаланушының түрі болып табылады, ал пәрмен жолы мәтіннің бөлігі болып табылады.

Қарапайым жағдайда, мәтіндік интерфейс пәрмен жолын қолданады, бірақ интерактивті элементтері бар көптеген бағдарламалар графикалыққа ыңғайлы болуға жақындайтын, түсінікті, түсінікті дизайн жасайды.

Кейбір бағдарламалар дамыған терезе жүйесін қолдайды, мысалы, турбо-пәтер, D-PLACE, CSCAPE, көптеген адамдар өзгереді (DOS Navigator), сонымен қатар әртүрлі интерактивті әрекеттерді қолдану мүмкіндігі (джойстик, тышқан).

Ыңғайлы, дауыстық, тактикалық және нейральды

  • Пайдаланушы компьютерді басқарады және әр түрлі әдістермен командаларды береді: ым-ишар ​​ым-ишаралар, дауысы және т.б.
  • Сондықтан, бақылау түрі ажыратылады:
  • Жылдық интерфейс. Контакт элементтері - бұл графикалық таблеткалар, сенсорлық экрандар және саусақтардың қимылына реакциясы;
  • Дауыстық интерфейс сөйлеуді басқаруды білдіреді. Мысалдар: Apple-дің сири, Яндекс Алиса;

Өзара әрекеттесу тактильді сезімдерге негізделген, сезімтал кері байланыс (діріл, итеру);

Нейрональ - командаларды миға жасалған электродтар арқылы беру. Ақпаратты мидан алуға болады және оған беріледі, мысалы, көзге арналған тордың көмегімен. Іс жүзінде, Neurointerface миы жақсы жұмыс істейтін науқастардың өмірін жеңілдете алады. Neurointerface оларға миға қосылған электродтардың көмегімен олардың ниеттерін оқып, нақты әрекеттерді орындауға мүмкіндік береді.

Графикалық жүйелік интерфейс

Бағдарламалық жасақтама, аппараттық, аппараттық және бағдарламалық қамтамасыздандыру

  • Interface System Progs және құрылғылар арасында да байланыс орнатады.
  • 3 топ бар:
  • Бағдарламалау интерфейсі (ағылшынша. Бағдарламалау интерфейсі) - бұл бағдарламалардың өзара әрекеттесуі. Атап айтқанда, API немесе қолданбалы бағдарламалау интерфейсі - компьютерлік бағдарламалар арасында мәліметтер алмасу әдістері (біреуі API-ге сұрау жібереді, тағы бір жауап береді). Жаңалықтар порталы валюталарды көрсетеді. Бұл редактор бұл үшін жауап бермейді (ол сандарды қолмен өзгертуі керек), ал сайт валюта айырбастауға өтініш жіберген API, жауап алады;

Аппараттық құрал бір-бірімен бір-бірімен слоттар, коннекторлар, шлюздер арқылы өзара әрекеттесуге арналған. USB (әмбебап реттік шина) - ең танымал мысал. Осылайша компьютер телефонына, камерасына, тінтуірге қосылыңыз;

Аппараттық бағдарламалық қамтамасыздандыру - бұл түйіндердің, бағдарламаларды басқару бойынша элементтердің өзара әрекеті.

Пайдаланушы интерфейсі

Пайдаланушы өзі не көргенін өзі байқайды, ол өзі басады - бұл пайдаланушы интерфейсі. Бұл құрылғының сыртқы бөлігі немесе пайдаланушы жұмыс істейтін бағдарламаның сыртқы бөлігі.

Көбінесе, Word интерфейсі астында пайдаланушыны (пайдаланушы интерфейсін) білдіреді. Сайттың келушісі: «шатастыратын, жағымсыз тіркеу немесе мәзір бар» дейді. Сонымен, сайтқа хабарласуға ыңғайсыз: дұрыс элементті табу қиын, тапсырысты шешіп, құжатты жүктеңіз. Түсінікті құрылым - бұл адам қай жерде басу керектігін бірден көретін кезде, оның не болатынын біледі. Бірақ Windows жүйесінде көптеген жаңалықтар проблемалары бар, өйткені осы ОЖ зерттеулерінің дизайны, тәжірибесіз пайдаланушылар параметрлерде шатастырады. 1С платформасында әр түрлі 1С клиенттерінде қолданылатын екі түрлі интерфейс механизмдері.

Пәрмен жолы, графика, мәтін, дауыстық, қимыл, тактиль, тактиль, нейрондық, процедуралар - мұның бәрі пайдаланушы интерфейсіне қосылады. Оған бақылауында пайдаланушы компьютердегі деректерге кіреді, монитордағы ақпарат пайда болады, принтер. Электрондық кестедің интерфейсі бар - бұл адам көретін, жұмыс істейтін, мысалы, OpenOffice.org Call қолданбалы қосымшасы.

Бірақ пайдаланушы интерфейсінің басқа түрлері бар.

Аппараттық интерфейс

Веб, ойын

Веб-интерфейс - HTTP протоколы және веб-шолғыш арқылы сервермен немесе құрылғымен байланыс үшін құрылымды білдіретін веб-бет (бір немесе жиын) болып табылады. Мысалы, клиент банк парағына, коммуналдық қызметтерге бара алады. Негізгі артықшылығы - қосымша бағдарламалық жасақтаманы орнатудың қажеті жоқ, өйткені амалдық жүйе шолғышпен жүреді. Желілік интерфейспен шатастырудың қажеті жоқ. Осы мерзім ішінде бағдарламалар арасында компьютерлік желі арқылы деректерді жіберуге арналған виртуалды немесе физикалық құрылғы деп түсініледі (мысалы, VLAN).

Веб-интерфейсті құрудың танымал тәсілі - CSS және JavaScript'a-мен HTML пайдалану. Adobe Flash, Java апплеттері немесе Silverlight қолданылған.

Тағы бір түрі - ойын интерфейсі - бұл gamedizayn-мен байланысты, бірақ ол өз құзыретіне кірмейді. Ойыншы мен ойын әр түрлі дженерде мекендейді, ал ойын құрылымы олардың өзара байланысының мәні болып табылады. Онымен бірге ойыншы ойыннан қажетті ақпаратты алады және ойыншының әрекеттері қажет.

Материал

Материал немесе тактикалық интерфейс - бұл пайдаланушының тағы бір түрі. Бұл адамның электроникасы бар адамның байланысы, материалдық құрылымдары. Мысалы, адам, ол бір уақытта курсордың экрандағы көрсеткіні жылжытатын тінтуірді жылжытады.

Интерфейстердің сорттары

Телефондардағы интерфейс

Мобильді құрылғы интерфейсінің жалпы стилі SIMP (Screen-icon-mense-sylinter) ретінде сипатталады. Мобильді терезелерде барлық экранды алатын құрылымның элементтері болып табылады. Терезелер арасындағы ауысу графикалық элементтермен орындалады немесе саусағыңызбен тартылады.

  • SIMP дизайнының ерекшеліктері ОЖ-нің ерекшелігімен түсіндіріледі.
  • Гаджеттер үшін ең көп таралған ОЖ:
  • Android;
  • Apple iOS;
  • WindowsMobile;
  • Алақан ОС;

Symbian OS;

BlackBerry OS.

Ресей танымал - Android, Apple iOS, Windowsmobile. Бірақ өндірушілер интерфейс жүйелері мен блоктарының түрлерін пайдаланады, себебі - брендинг. Android-тің теңшеліміне деген дегенді білдіреді, мысалы, корпоративті жабдық өндірушілері бағдарламалық жасақтамаға, мысалы, функционалдылық пен дизайн саласында өзгеруі мүмкін дегенді білдіреді.

Мобильді құрылғылардағы әр түрлі жүйелік құрылымдар иелер тәжірибесіне айтарлықтай әсер етпейді, өйткені олар жалпыға бірдей тапсырмаларды шешу үшін жасалған. Қосымшалар жиынындағы айырмашылық.

Мобильді құрылғының интерфейсін құлаққап ұялары, зарядтау, зарядтау, дауыстық көмек барлары - компьютердің жұмысына негізделеді, тек гаджеттерге арналған. Бірақ смартфондарда көптеген жаңа құрылымдар бар, мысалы, NFC (NFS) - сымсыз байланыстың құрылымы.

Интерфейс тілі нені білдіреді

Оны мәтіндік материалдар теру кезінде орнатылған тілдермен шатастырудың қажеті жоқ.

  • Интерфейс тілі - бұл әрекеттерді, мәзірден, диалогтық терезелерде, қате терезелерінде және сілтемелерде пайдаланылған кезде қолданылады. Егер оны кем дегенде 1 қосымша негізгі тілге орнатылған болса, оны өзгертуге болады.
  • Компьютерде қай тілдің терезелері тұрғанын білудің қарапайым тәсілі:
  • «Басқару тақтасы» ашыңыз;

«Тіл» қойындысы;

Қазір қолданылатын негізгі тілді бөлді. Оны өзгертуге немесе жаңасын қосуға болады.

табу

Адам үшін интерфейс компьютермен немесе телефонмен жұмыс істеуге негіз болып табылады. Бұл бағдарламалар мен жабдықтар арасында өзара әрекеттесу тәсілі. Жүйе құрылымының қарапайымдылығы байланысты, құрылғыны басқару оңай ма, жоқ па. Әзірлеушілер әр түрлі дизайн мен құрылымдардан шығады, оларды адамдар үшін көп немесе аз жағымды етеді. IT сарапшылары кейбір құрылымдарға өзгерістер енгізе алады немесе оларды елеулі тапсырмаларды шешу үшін қолдана алады, ал тәжірибесіз пайдаланушылар жұмысты жеңілдету және үнемдеу үшін интуитивті интерфейс жүйесі бар құрылғы сатып ала алады.

Интерфейс көбінесе адамдар мен компьютердің немесе қосымшалардың өзара әрекеттесуін білдірген кезде жиі айтылады. Мақалада біз өзара әрекеттесуге арналған интерфейс анықтамасын талдаймыз, олардың түрлері мен ерекшеліктері.

  • Интерфейс дегеніміз не

  • Интерфейс - бұл адам мен бағдарлама, операциялық жүйе, техникалық құрылғы немесе өзара әрекеттер арасындағы өзара әрекеттесу әдісі. Адам интерфейсті пайдаланып командалар береді, құрылғы оларды талдап, жауап береді. Ол үшін негізгі міндеттер:

  • Ақпаратты енгізу және көрсету (дыбыс, сурет);

  • Жеке өтініштерді басқару;

Басқа құрылғылармен деректер алмасу;

Интерфейстердің түрлері

Амалдық жүйемен өзара әрекеттесу.

Пәрмен жолы

Интерфейс тек адамдар мен технологиялардың өзара әрекеттесуін, сонымен қатар компьютерлік бағдарламаның, бағдарламалық бағдарламаның, компьютерлік құрылғыны да қамтиды. Мысалы, құрылғылар компьютерлік жүйеге қосылған кезде, араласу әдісі қосқышты пайдаланады.

Өзара әрекеттесудің кейбір түрлері сізге компьютердің немесе смартфонды көбірек басқаруға мүмкіндік береді, бірақ қосымша дағдыларды қажет етеді. Басқалары әлдеқайда ыңғайлы, бірақ аз мүмкіндік береді. Әр түрдің өзіндік сипаттамалары бар.

Пәрмен жолы (консольдік интерфейс) өзінің қабығында, мысалы, BIOS-те басталады. Оның орналасқан жерінің негізгі бағыты: C: \ Windows \ System32 \ cmd.exe. Кәдімгі жылаушыға пәрмен жолы орналасқан және ол қалай жұмыс істейтіні және кәсіпқойлар үшін бұл негізгі құрал, өйткені ол негізгі құрал, өйткені ол вирустармен және басқа жағдайларда компьютерге көмектеседі.

Пәрмен жолы арқылы сіз жұмыстың ең көп санын жасай аласыз, бұл операциялық жүйемен байланысудың тікелей тәсілі. Пәрменді теру үшін сіз компьютерге мәтінді енгізуіңіз керек және Enter пернесін басыңыз, компьютер орындала бастайды.

Минус әдісі - бұл тек оқытылған пайдаланушыларға жарамды. Пәрмен жолында қосалқы графикалық элементтер жоқ, ол өзара әрекеттесу тілін игеруі керек, ал командалардың жұмысы қателеспейді.

Графика компьютермен өзара әрекеттесуді жеңілдетеді, онымен жұмыс істеу әлдеқайда оңай және мәтінге қарағанда ыңғайлы. Графикалық интерфейстің рөлінде мұндай элементтер:

Қарапайым жағдайда, мәтіндік интерфейс пәрмен жолын қолданады, бірақ интерактивті элементтері бар көптеген бағдарламалар графикалыққа ыңғайлы болуға жақындайтын, түсінікті, түсінікті дизайн жасайды.

Мысалы, Windows жүйесімен әрекеттесу белгішелері мен терезелерін пайдаланады, тінтуір кіру үшін қосылады. Смартфонда кіріс құрылғысы сенсорлық экранның дисплейі болып табылады.

Мәтіндік интерфейс кескіндерді пайдаланбайды: пәрмендер мәтін түрінде беріледі және ақпарат мәтін түрінде берілген.

Қимылмен әрекеттесу саусақтардың қимылдарына командаларды беруге мүмкіндік береді. Ол смартфонның сенсорлық экранымен жұмыс кезінде қолданылады. Мысалы, «UP» қимылы қалқымалы терезені пайда етеді.

Дауыстық интерфейс - дауысты басқару. Гаджет дыбыстық командаларды біледі және орындайды.

Өзара әрекеттесу тактильді сезімдерге негізделген, сезімтал кері байланыс (діріл, итеру);

Тактильді түрту арқылы өзара әрекеттесуді білдіреді: діріл немесе сезімталдық.

Нейрондық интерфейс пәрменді мидан компьютерге тікелей жібереді, ол үшін, электродтар миға имплантацияланады. Ол медицинада қолданылады: сондықтан шалданған адам сыртқы әлеммен байланыса алады.

Аппараттық құрал бір-бірімен бір-бірімен слоттар, коннекторлар, шлюздер арқылы өзара әрекеттесуге арналған. USB (әмбебап реттік шина) - ең танымал мысал. Осылайша компьютер телефонына, камерасына, тінтуірге қосылыңыз;

Бағдарламаның бір-бірімен өзара әрекеттесуі бағдарламалық жасақтама интерфейсін ұсынады. Бағдарламалар бір-біріне сұраныс жібереді және жауап алады. Мысалы, виджеттегі немесе компьютерде тиісті ауа-райын үнемі көрсету үшін, бір бағдарлама үнемі сұрау жібереді, және ол жаңа деректерді ұсынады.

Жабдық физикалық құрылғылар арасындағы коннекторлар мен ұялар арқылы байланыс орнатуға арналған. Компьютерде ақпаратты қатты дискіден оқыған кезде - бұл бағдарламаның бірлескен жұмысы және физикалық құрылғы, яғни, аппараттық және бағдарламалық интерфейс.

Кәдімгі пайдаланушы компьютерден тұратын, веб-сайтқа немесе бағдарламаға кіргенде барлығы, бағдарламаға кіреді, ол экранда көретін адам пайдаланушы интерфейсі болып табылады.

Веб, ойын сайты

Веб-интерфейсті құрудың танымал тәсілі - CSS және JavaScript'a-мен HTML пайдалану. Adobe Flash, Java апплеттері немесе Silverlight қолданылған.

Веб-интерфейс сізге браузер арқылы жұмыс істеуге мүмкіндік береді. Бұл Интернеттегі бағдарламалардың өзара әрекеті. Мысалы, сіз дүкенге барып, сатып алуды төлеуге болады. Бұл жағдайда браузер веб-интерфейс болады, оның арқасында беттер өзара әрекеттеседі.

Материал

Ойын дегеніміз - бұл қолданушы ойындар бере алатын ойынмен қалай қарым-қатынас жасай алатыны, ойын туралы ақпарат қандай формада және ойынның әрекеттеріне қалай жауап беретіні туралы қалай беріледі.

Интерфейс не болуы керек

Бұл гаджеттермен тактильді байланыс. Оған сенсорлық экран, тінтуір немесе джойстикпен әрекеттесуді қамтиды.

Логикалық мәліметтер базасының құрылымы (DDL).

Смартфондар сенсорлық экранды қолданады, ол қимылмен және тактильді интерфейстерді білдіреді. Пайдаланушы элементтерге тиеді, амалдық жүйе немесе қосымшаны қабылдап, оларды қабылдап, орындайды.

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