Interface Abstraction
API is a corner stone of SW development. Thus, each Module within any project has to provide and fulfill some sort of an interface.
A good interface is a meeting point between an user (customer) and an implementation. Thus it serves two purposes:
- Provides easy to read contract for a customer
- Simplifies business logic implementation by elimination of uncertainty (what and how features shall be provided)