Интерфејс (енгл. interface) заједничка је дељена граница, посредством које две или више компоненти рачунарског система врше размену информација. Размена информација може се одвијати између софтвера, хардверских компоненти, периферних уређаја, људи или као комбинација наведених. Поједине рачунарске компоненте, попут екрана осетљивих на додир, могу истовремено и примати и слати податке посредством интерфејса, док неке друге попут микрофона, једино омогућавају пријем података.[1]

Хардверски интерфејсУреди

Хардверски интерфејс је присутан у многим уређајима попут: магистрала, уређаја за складиштење података, улазно-излазних уређаја итд. Технички, хардверски интерфејс описан је механичким, електричним и логичким сигналима који се размењују на физичком међусклопу два уређаја, као и протоколима којима се врши секвенција сигнала (сигнализирање).[2]

Стандардан интерфејс, попут СЦСИ, одваја дизајн и примену једне хардверске компоненте од дизајна и примене других хардверских компоненти унутар истог рачунарског система. Такав модуларни приступ омогућава корисницима и произвођачима хардвера велику флексибилност у имплементацији рачунарског система.[2]

Хардверски интерфејс може бити паралелан или серијски. Код паралелног интерфејса пренос података врши се кроз неколико проводника истовремено, док се код сериског интерфејса пренос података врши бајт по бајт коришћењем једног проводника.

Софтверски интерфејсУреди

Појам софтверског интерфејса, обухвата широки распон различитих типова интерфејса, на различитим нивоима оперативног система.[3] Оперативни систем може посредовати у комуникацији између корисника и хардверских компоненти или програми (апликације) који се покрећу под одређеним оперативним системом могу захтевати комуникацију са другим програмима, нитима истог програма (енгл. threads) или комуникацију са деловима самог оперативног система.

Дизајн и примена софтверског интерфејса у праксиУреди

Кључни принцип приликом дизајна софтверског интерфејса, јесте забрана неконтролисаног приступа рачунарским ресурсима и омогућавање њиховог коришћења искључиво кроз добро дефинисане улазне тачке (енгл. entry points).[4] Поред задовољења безбедносних захтева, коришћење софтверског интерфејса омогућава и једноставније, функционалније коришћење компјутерских ресурса. Софтверски интерфејс омогућава да различити програми (или нити истог програма) деле заједничке: константе, типове података, процедуре, спецификације изузетака и потписе метода. Такође, понекад се јавне варијабле програма дефинишу као део софтверског интерфејса.

У току дизајна и имплементације софтверског интерфејса, треба тежити ка задовољењу принципа модуларности. Интерфејс програмског модула А мора бити дефинисано независно од његове имплементације.


Кориснички интерфејсУреди

Кориснички интерфејс представља тачку интеракције између рачунара и човека што укључује било коју процедуру интеракције (као што су графика, звук, положај, кретање и сл.) где се подаци преносе између корисника и рачунарског система.

РеференцеУреди

  1. ^ ИЕЕЕ 100 - Тхе Аутхоритативе Дицтионарy Оф ИЕЕЕ Стандардс Термс. НYЦ, НY, УСА: ИЕЕЕ Пресс. 2000. стр. 574—575. ISBN 0-7381-2601-2. 
  2. 2,0 2,1 Блаауw, Герритт А.; Броокс, Јр., Фредерицк П. (1997), „Цхаптер 8.6, Девице Интерфацес”, Цомпутер Арцхитецтуре-Цонцептс анд Еволутион, Аддисон-Wеслеy, стр. 489—493, ISBN 0-201-10557-8  Сее алсо: Паттерсон, Давид А.; Хеннессеy, Јохн L. (2005), „Цхаптер 8.5, Интерфацинг I/О Девицес то тхе Процессор, Меморy анд Оператинг Сyстем”, Цомпутер Организатион анд Десигн - Тхе Хардwаре/Софтwаре Интерфаце, Тхирд Едитион, Морган Кауфманн, стр. 588—596, ISBN 1-55860-604-1 
  3. ^ Venners, Bill (6. 6. 2005). „Leading-Edge Java: Design Principles from Design Patterns: Program to an interface, not an implementation - A Conversation with Erich Gamma, Part III”. http://www.artima.com/index.jsp: артима девелопер. Приступљено 3. 8. 2011. »Онце yоу депенд он интерфацес онлy, yоу'ре децоуплед фром тхе имплементатион. Тхат меанс тхе имплементатион цан варy, анд тхат ис а хеалтхy депенденцy релатионсхип. Фор еxампле, фор тестинг пурпосес yоу цан реплаце а хеавy датабасе имплементатион wитх а лигхтер-wеигхт моцк имплементатион. Фортунателy, wитх тодаy'с рефацторинг суппорт yоу но лонгер хаве то цоме уп wитх ан интерфаце уп фронт. Yоу цан дистилл ан интерфаце фром а цонцрете цласс онце yоу хаве тхе фулл инсигхтс инто а проблем. Тхе интендед интерфаце ис јуст оне 'еxтрацт интерфаце' рефацторинг аwаy. ...« 
  4. ^ Гамма; Хелм; Јохнсон; Влиссидес (1995). Десигн Паттернс: Елементс оф Реусабле Објецт-Ориентед Софтwаре. Аддисон Wеслеy. стр. 17—18.