ADT specification (2)
The ADT programmer undertakes to provide an implementation of the ADT that respects the contract.
The application programmer undertakes to process values of the ADT using only the operations specified in the contract.
Separation of concerns:
- The ADT programmer is not concerned with what applications the ADT is used for.
- The application programmer is not concerned with how the ADT is implemented.
Separation of concerns is essential for designing and implementing large systems.