- Parameter interfaces: data is passed from one method to another
- Procedural interfaces: set of procedures encapsulates a subsystem and other components interact with the subsystem through these procedures
- Shared memory interfaces: block of memory is shared between two distinct processes
- Message passing interfaces: one subsystem is designed to respond to requests made by other subsystems