Abstract data types
An instance of Parnas’ information hiding principle
- How to choose among alternative modularizations
- Identify aspects of a program that are likely to change, and those that are likely to be stable
- Capture the stable parts in interfaces, and the likely to change parts in implementations
- (There’s a bit more to it)