Hisoblashda interfeys - bu umumiy chegara bo'lib, u orqali kompyuter tizimining ikki yoki undan ortiq alohida komponentlari ma'lumot almashadi. Ayirboshlash dasturiy ta'minot, kompyuter texnikasi, periferik qurilmalar, odamlar va ularning kombinatsiyasi o'rtasida bo'lishi mumkin. Sensorli ekran kabi baʼzi kompyuter apparat qurilmalari interfeys orqali maʼlumot yuborishi va qabul qilishi mumkin, sichqoncha yoki mikrofon kabi boshqalar esa faqat maʼlum tizimga maʼlumot yuborish interfeysini taqdim etishi mumkin.
Uskuna interfeyslari turli xil avtobuslar, saqlash qurilmalari, boshqa kiritish-chiqarish qurilmalari va boshqalar kabi ko'plab komponentlarda mavjud. Uskuna interfeysi interfeysdagi mexanik, elektr va mantiqiy signallar va ularni ketma-ketlashtirish protokoli (ba'zan deyiladi) bilan tavsiflanadi. signalizatsiya) SCSI kabi standart interfeys, kiritish-chiqarish qurilmalari kabi hisoblash texnikasini loyihalash va joriy etishni hisoblash tizimining boshqa komponentlarini loyihalash va joriy etishdan ajratadi va shu bilan foydalanuvchilar va ishlab chiqaruvchilarga hisoblash tizimlarini amalga oshirishda katta moslashuvchanlikni ta'minlaydi. Uskuna interfeyslari bir vaqtning o'zida ma'lumotlarning bir qismini tashuvchi bir nechta elektr ulanishlari bilan parallel bo'lishi mumkin yoki ma'lumotlar bir vaqtning o'zida bir bit yuboriladigan ketma-ket bo'lishi mumkin.[
Software interfaces
Dasturiy ta'minot interfeysi turli "darajalarda" turli xil interfeys turlarining keng doirasiga murojaat qilishi mumkin: operatsion tizim apparat qismlari bilan interfeysga kirishi mumkin. Operatsion tizimda ishlaydigan ilovalar yoki dasturlar ma'lumotlar oqimlari, filtrlar va quvurlar orqali o'zaro ta'sir qilishi mumkin va ob'ektga yo'naltirilgan dasturlarda ilova ichidagi ob'ektlar usullar orqali o'zaro ta'sir qilishi kerak bo'lishi mumkin.
Amalda
Dizaynning asosiy printsipi sukut bo'yicha barcha resurslarga kirishni taqiqlash, faqat aniq belgilangan kirish nuqtalari, ya'ni interfeyslar orqali kirishga ruxsat berishdir. Dasturiy ta'minot interfeyslari asosiy kompyuter tizimining kompyuter resurslariga (masalan, xotira, protsessor, saqlash va boshqalar) kirishni ta'minlaydi; Bunday resurslarga dasturiy ta'minot orqali to'g'ridan-to'g'ri kirish (ya'ni, yaxshi mo'ljallangan interfeyslar orqali emas) funksionallik va barqarorlik uchun katta oqibatlarga olib kelishi mumkin, ba'zan esa halokatli bo'lishi mumkin.
Dasturiy ta'minot komponentlari orasidagi interfeyslar konstantalar, ma'lumotlar turlari, protseduralar turlari, istisno spetsifikatsiyalari va usul imzolarini taqdim etishi mumkin. Ba'zan umumiy o'zgaruvchilar interfeysning bir qismi sifatida ham aniqlanadi.
Dasturiy ta'minot moduli A interfeysi ushbu modulni amalga oshirishdan ataylab alohida belgilanadi. Ikkinchisi interfeysda tasvirlangan protseduralar va usullarning haqiqiy kodini, shuningdek, boshqa "xususiy" o'zgaruvchilar, protseduralar va boshqalarni o'z ichiga oladi. Boshqa dasturiy ta'minot moduli B, masalan, A bilan o'zaro aloqada bo'lgan mijoz A ga shunday qilishga majbur. faqat nashr etilgan interfeys orqali. Ushbu tartibga solishning amaliy afzalliklaridan biri shundaki, A ni amalga oshirishni bir xil interfeysning boshqa ilovasi bilan almashtirish B ni muvaffaqiyatsizlikka olib kelmasligi kerak - A ning ichki interfeys talablariga qanday javob berishi B uchun tegishli emas, bu faqat texnik xususiyatlar bilan bog'liq. interfeys. (Shuningdek, Liskov almashtirish printsipiga qarang.)[iqtibos keltirish kerak]
Ob'ektga yo'naltirilgan tillarda
Asosiy maqolalar: Protokol (ob'ektga yo'naltirilgan dasturlash) va Kontseptsiya (umumiy dasturlash)
Ba'zi ob'ektga yo'naltirilgan tillarda, ayniqsa to'liq ko'p merosga ega bo'lmagan tillarda, interfeys atamasi ma'lumotlarga ega bo'lmagan, ammo xatti-harakatlarni usul imzolari sifatida belgilaydigan mavhum turni aniqlash uchun ishlatiladi. Ushbu interfeysga mos keladigan barcha usullar uchun kod va ma'lumotlarga ega bo'lgan va buni e'lon qiladigan sinf ushbu interfeysni amalga oshiradi deb aytiladi. Bundan tashqari, hatto bitta merosli tillarda ham bir nechta interfeyslarni amalga oshirish mumkin va shuning uchun bir vaqtning o'zida har xil turdagi bo'lishi mumkin.
Shunday qilib, interfeys - bu tur ta'rifi; ob'ektni almashtirish mumkin bo'lgan har qanday joyda (masalan, funktsiya yoki usul chaqiruvida) almashtiriladigan ob'ektning turi muayyan sinfni ko'rsatishdan ko'ra amalga oshirilgan interfeyslardan biri yoki tayanch sinflari nuqtai nazaridan aniqlanishi mumkin. Ushbu yondashuv ushbu interfeysni amalga oshiradigan har qanday sinfdan foydalanish mumkinligini bildiradi.[iqtibos keltirish kerak] Masalan, yakuniy amalga oshirish mavjud bo'lgunga qadar ishlanmani rivojlantirishga ruxsat berish uchun qo'g'irchoq dasturdan foydalanish mumkin. Boshqa holatda, sinov paytida soxta yoki soxta dastur almashtirilishi mumkin. Bunday stub ilovalari keyinchalik ishlab chiqish jarayonida haqiqiy kod bilan almashtiriladi.
Odatda interfeysda aniqlangan usulda kod mavjud emas va shuning uchun o'zini chaqirib bo'lmaydi; u chaqirilganda ishga tushirilishi uchun mavhum bo'lmagan kod bilan amalga oshirilishi kerak.[iqtibos keltirish kerak] "Stack" deb nomlangan interfeys ikkita usulni belgilashi mumkin: push() va pop(). U turli yo'llar bilan amalga oshirilishi mumkin, masalan, FastStack va GenericStack - birinchisi tez, belgilangan o'lchamdagi ma'lumotlar tuzilmasi bilan ishlaydi, ikkinchisi esa o'lchamini o'zgartirish mumkin bo'lgan ma'lumotlar strukturasidan foydalanadi, lekin biroz pastroq tezlikda.
Interfeyslar ko'p usullarni o'z ichiga olishi mumkin bo'lsa-da, ular faqat bittasini o'z ichiga olishi yoki umuman bo'lmasligi mumkin. Masalan, Java tili yagona read() usuliga ega bo'lgan Readable interfeysini belgilaydi; BufferedReader, FileReader, InputStreamReader, PipedReader va StringReader kabi turli xil ilovalar turli maqsadlar uchun ishlatiladi. Serializable kabi marker interfeyslari hech qanday usullarni o'z ichiga olmaydi va Reflection yordamida umumiy ishlov berish uchun ish vaqti haqida ma'lumot berishga xizmat qiladi.
Interfeysga dasturlash
Interfeyslardan foydalanish interfeysga dasturlash deb ataladigan dasturlash uslubiga imkon beradi. Ushbu yondashuvning g'oyasi dasturlash mantiqini ichki amalga oshirish tafsilotlariga emas, balki foydalaniladigan ob'ektlarning interfeyslariga asoslashdir. Interfeysga dasturlash amalga oshirishning o'ziga xos xususiyatlariga bog'liqlikni kamaytiradi va kodni qayta foydalanishga yaroqli qiladi.
Ushbu g'oyani haddan tashqari oshirib, boshqaruvning inversiyasi ishni bajarish uchun ishlatiladigan interfeysning o'ziga xos ilovalari bilan kodni kiritish uchun kontekstni qoldiradi.
Do'stlaringiz bilan baham: |