Summary: In this chapter we discussed the role of interfaces. They are the contract between the library developers and consumers. Some basic rules need to be followed by library authors to keep the library clean, up-to-the-point and easy to use:
- Hide implementation details
- Choose a small orthogonal set of primitives
- Don't reach behind the user's back
- Do the same thing the same way everywhere