Interface (computing)

interfaceinterfacescomputer interfaceinterfacingsystem interfaceshardware interfacesoftware interfaceuser interfaceCommand Interfacecomputer interfaces
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.wikipedia
441 Related Articles

SCSI

SASISmall Computer System InterfaceShugart Associates System Interface
A standard interface, such as SCSI, decouples the design and introduction of computing hardware, such as I/O devices, from the design and introduction of other components of a computing system, thereby allowing users and manufacturers great flexibility in the implementation of computing systems.
The SCSI standards define commands, protocols, electrical, optical and logical interfaces.

User interface

UIinterfaceweb interface
The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these.

Computer program

programprogramscomputer programs
Applications or programs running on the operating system may need to interact via data streams, filters, and pipelines; and in object oriented programs, objects within an application may need to interact via methods.
Application software designed for end users have a user interface.

Method (computer programming)

methodsmethodabstract method
Applications or programs running on the operating system may need to interact via data streams, filters, and pipelines; and in object oriented programs, objects within an application may need to interact via methods. In some object-oriented languages, especially those without full multiple inheritance, the term interface is used to define an abstract type that contains no data but defines behaviours as method signatures.
Abstract methods are used to specify interfaces in some computer languages.

Abstract data type

abstract data typesabstract data structureabstract
In some object-oriented languages, especially those without full multiple inheritance, the term interface is used to define an abstract type that contains no data but defines behaviours as method signatures.
ADTs are often implemented as modules: the module's interface declares procedures that correspond to the ADT operations, sometimes with comments that describe the constraints.

Application programming interface

APIAPIsapplication programming interfaces
An application programming interface (API) is an interface or communication protocol between different parts of a computer program intended to simplify the implementation and maintainance of software.

Application binary interface

ABIABIsApplication Binary Interface (ABI)
In computer software, an application binary interface (ABI) is an interface between two binary program modules; often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user.

Method stub

stubstubsStub (computer science)
Such stub implementations are replaced by real code later in the development process.
Stubs are used commonly as placeholders for implementation of a known interface, where the interface is finalized/known but the implementation is not yet known/finalized.

Marker interface pattern

marker interfaceMarker interfacesmarked
Marker interfaces like contain no methods at all and serve to provide run-time information to generic processing using Reflection.
Whereas a typical interface specifies functionality (in the form of method declarations) that an implementing class must support, a marker interface need not do so.

Abstraction inversion

duplicate the functionality of lower layers
In computer programming, abstraction inversion is an anti-pattern arising when users of a construct need functions implemented within it but not exposed by its interface.

Type signature

method signaturesignaturetype annotation
Interfaces between software components can provide constants, data types, types of procedures, exception specifications, and method signatures.

Component-based software engineering

software componentcomponentcomponents
With regard to system-wide co-ordination, components communicate with each other via interfaces.

Separation of concerns

separateSeparationcompletely separate
One practical advantage of this arrangement is that replacing the implementation of A by another implementation of the same interface should not cause B to fail—how A internally meets the requirements of the interface is not relevant to B, which is only concerned with the specifications of the interface.
This separation of concerns is similar to the interface/implementation distinction in software and hardware engineering.

Test-driven development

Test Driven Developmenttest-first developmentTDD
In another case, a fake or mock implementation may be substituted during testing.

Computing

computer technologycomputing technologyapplied computing
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.

Computer

computerscomputer systemdigital computer
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.

Software

Computer softwareSoftware & Programmingsoftware technology
The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these.

Computer hardware

hardwarepersonal computer hardwaredevice
The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these.

Peripheral

peripheralsperipheral devicecomputer peripheral
The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these.

Touchscreen

touch screencapacitive touchscreenscreen
Some computer hardware devices, such as a touchscreen, can both send and receive data through the interface, while others such as a mouse or microphone may only provide an interface to send data to a given system.

Computer data storage

main memorystoragememory
Hardware interfaces exist in many of the components, such as the various buses, storage devices, other I/O devices, etc. A hardware interface is described by the mechanical, electrical and logical signals at the interface and the protocol for sequencing them (sometimes called signaling).

Input/output

I/Ooutputinterface
A standard interface, such as SCSI, decouples the design and introduction of computing hardware, such as I/O devices, from the design and introduction of other components of a computing system, thereby allowing users and manufacturers great flexibility in the implementation of computing systems. Hardware interfaces exist in many of the components, such as the various buses, storage devices, other I/O devices, etc. A hardware interface is described by the mechanical, electrical and logical signals at the interface and the protocol for sequencing them (sometimes called signaling).

Parallel communication

parallelparallel busparallel transmission
Hardware interfaces can be parallel with several electrical connections carrying parts of the data simultaneously, or serial where data are sent one bit at a time.

Serial communication

serialserial interfaceserial communications
Hardware interfaces can be parallel with several electrical connections carrying parts of the data simultaneously, or serial where data are sent one bit at a time.