Interface and its significance to system design

In this section of we will understand the significance of interfaces to system and system design.


We know a system can expose n number of behaviors and we also know that not every other actor is supposed to use or know about every other behavior.

Interface is logical grouping of related behaviors offered by a system meant for a particular type of actor. Syntactically we can say "Interface is a logically related set of public method signatures meant for a particular actor"

As system can be used by 1 or more actors , a system can expose one or more interfaces.

Interfaces can be of multiple types viz
  1. Programmatic Interfaces
  2. Physical Interfaces
  3. Communication Protocols
Interfaces are also sometimes called as Contracts. Ths job of any interface is to let the user of the system clearly know about the various behaviors available to him along with a clear description of name of the behavior along with the input parameters that are needed along with the output result that can be expected from that behavior.

As interface is just a logical grouping of related behaviors or method signatures and one interface can have multiple implementations, we can also define polymorphism in terms of interfaces.

Keeping the interface constant , switching the implementations of an interface at run time can also be called as "Polymorphism"

Boundary Entities of the systems are nothing but the interfaces of the systems.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer